列からラベルへのリストを用意する必要があります。これにより、スクリプトがデータベースに固有になります。
$labels = array(
'col_name'=>'Column 1',
'id'=>'User ID'
); // and so on
$result = mysql_query("show columns from mash");
for ($i = 0; $i < mysql_num_rows($result); $i++) {
$colArray[$i] = mysql_fetch_assoc($result);
$fieldArray[$i] = $labels[$colArray[$i]['Field']];
}
fputcsv($fp,$fieldArray);
または、この種のメタデータを使用してデータベースを作成する必要があります。source_table、source_column、column_labelの3つのフィールドを持つことができます。これにより、別のクエリがミックスに追加されますが、コードを汎用にすることができます。
最後の方法は、アンダースコア(_)などの区切り文字を使用した単純な命名規則を使用してから、アンダースコアを削除してタイトルケースを適用することです。field_1は「フィールド1」になり、「user_id」は「ユーザーID」になります。
$result = mysql_query("show columns from mash");
for ($i = 0; $i < mysql_num_rows($result); $i++) {
$colArray[$i] = mysql_fetch_assoc($result);
$fieldArray[$i] = _title_case_function_(str_replace('_', ' ', $colArray[$i]['Field']]));
}
fputcsv($fp,$fieldArray);