我有一个 CSV 导出脚本,它从某个表中获取某些字段及其值,并使用数据创建一个 Excel 文件。请参阅下面的脚本。
它首先获取列名(ID 除外)。其次,它将获取 firstname、lastname、employee_id、unit 和 present 的值,并将所有这些值放入 Excel 文件中。
现在请注意,它从表中获取数据: table_info 在此表中,UNIT 和 PRESENT 仅存在于数字之外。这些数字代表其他两个表格中的单位/礼物的 ID:
table_units (id, title) table_presents (id, title)
我想要的是,在 Excel 工作表中,它不显示单元/礼物的数字(id),而是显示单元/礼物的标题。我怎样才能做到这一点?我的 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;