特定のテーブルとその値から特定のフィールドを取得し、そのデータを使用してExcelファイルを作成するCSVエクスポートスクリプトがあります。以下のスクリプトを参照してください。
最初に列名を取得します(IDを除く)。次に、firstname、lastname、employee_id、unit、presentの値を取得し、これらすべての値をExcelファイルに入れます。
ここで、テーブルからデータを取得することに注意してください。table_infoこのテーブルでは、UNITとPRESENTは数値からのみ存在します。これらの番号は、他の2つのテーブルからのユニット/プレゼントの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;