я использую 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);
}
Вам нужно реализовать подсчет переменной
$i = 1;
и увеличивайте его на каждом шаге в вашем цикле:
$i += 1;
Теперь вам нужно вставить его в первое место массива, который вы передаете fputcsv
функция. Что-то вроде этого:
fputcsv($out, array($i, $row["Database Id"], $row["Name"], ...));
Если у вас возникли проблемы с поиском индексов переменной $ row, просто используйте функцию print_r. Вы получите весь массив со всеми его индексами.
Других решений пока нет …