Как добавить серийный номер столбца и серийные номера в том, что в fputcsv в стек переполнения

я использую fputcsv экспортировать мою базу данных в формат Excel. В настоящее время отображаются все поля, включая идентификатор из базы данных. Но я хочу серийные номера в первом столбце экспортированного файла CSV. Ряд идентификаторов базы данных может измениться, если некоторые записи будут удалены из базы данных. Поэтому мне нужны серийные номера.

Является ли это возможным ?

Мой текущий код —

require_once("../db.php");

$contents="Database Id,Name,Amount,Cheque/Cash,Bank,Cheque Date,Branch,Address,Receipt No,Receipt Date\n";
$user_query = mysql_query("SELECT * from tablename ORDER BY RAND()");

$contents = strip_tags($contents);

header("Content-Disposition: attachment; filename=my_file_".date('d-F-Y').".csv");
$out = fopen('php://output', 'w');
fputcsv($out, array('Database Id', 'NAME', 'AMOUNT', 'CHEQUE/CASH DETAILS' , 'BANK' , 'CHEQUE DATE' , 'BRANCH', 'ADDRESS', 'RECEIPT NUMBER', 'RECEIPT DATE'));

while ($row = mysql_fetch_assoc($user_query)) {
fputcsv($out, $row);
}

-1

Решение

Вам нужно реализовать подсчет переменной

$i = 1;

и увеличивайте его на каждом шаге в вашем цикле:

$i += 1;

Теперь вам нужно вставить его в первое место массива, который вы передаете fputcsv функция. Что-то вроде этого:

fputcsv($out, array($i, $row["Database Id"], $row["Name"], ...));

Если у вас возникли проблемы с поиском индексов переменной $ row, просто используйте функцию print_r. Вы получите весь массив со всеми его индексами.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]