$result = mysql_query("show columns from mash");
for ($i = 0; $i < mysql_num_rows($result); $i++) {
$colArray[$i] = mysql_fetch_assoc($result);
$fieldArray[$i] = $colArray[$i]['Field'];
}
fputcsv($fp,$fieldArray);
获取 mysql 列名,然后将它们输出到创建的 CSV 的顶部。
但是,我知道列名称是什么,我如何更改它们以用于 CSV 中的输出?
即。如果显示列输出:id、field1、field2、field3,我如何制作这些 ID、Field 1、Field 2、Field 3。不仅要大写,还要选择它们将成为什么......
最佳答案
您必须有一个列到标签的列表,这将使脚本特定于数据库:
$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。这会向混合中添加另一个查询,但会允许代码变得通用。
最后一种方法是使用一些带有分隔符的简单命名约定,例如下划线 (_),然后删除下划线并应用标题大小写。 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);
关于php - 更改 mysql 列名称以与 FPutCSV() 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4994422/