У меня есть скрипт экспорта в CSV, который извлекает определенные поля из определенной таблицы и их значения и создает файл Excel с данными. Смотри скрипт ниже.
Сначала он получает имена столбцов (кроме идентификатора).
Во-вторых, он захватит значения имени, фамилии, employee_id, unit и present и поместит все эти значения в файл Excel.
Теперь обратите внимание, что он берет данные из таблицы: table_info
В этой таблице UNIT и PRESENT существуют только из чисел. Эти числа представляют идентификаторы устройства / присутствуют из двух других таблиц:
table_units (id, title)
table_presents (id, title)
То, что я хотел бы иметь, - это то, что в листе Excel он не показывает номера (идентификаторы) единицы / подарка, но название единицы / подарка. Как я могу сделать это? Мои знания PHP просто останавливаются здесь.
$table = 'table_info';
$file = 'export';
$result = mysql_query("SHOW COLUMNS FROM ".$table."");
$i = 0;
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
if($row['Field'] != 'id'){
$csv_output .= $row['Field']."; ";
$i++;
}
}
}
$csv_output .= "\n";
$values = mysql_query("SELECT firstname, familyname, employee_id, unit, present FROM ".$table."") or die(mysql_error());
while ($rowr = mysql_fetch_row($values)) {
for ($j=0;$j<$i;$j++) {
$csv_output .= $rowr[$j]."; ";
}
$csv_output .= "\n";
}
$filename = $file."_".date("Y-m-d_H-i",time());
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header("Content-disposition: filename=".$filename.".csv");
print $csv_output;
exit;