【发布时间】:2019-03-13 08:49:47
【问题描述】:
我必须改进此代码才能更好地输出 CSV 文件。 我需要的是也导出列标题,并可能用自定义值替换本机列标题。 同样在 csv 中,我有一些价格以这种形式“75.0000”,我不希望输出中的所有零
<?php
$db = new mysqli("server","user","password","db");
$fp = fopen("list.csv","w");
if ($rs = $db->query("SELECT column, price, id FROM table,table1 WHERE table.id=table1.id AND table2.id=table.id AND GROUP BY table2.id"))
{
while ($row = $rs->fetch_assoc())
{
fputcsv($fp, array_values($row));
}
$rs->close();
}
fclose($fp);
?>
你有什么建议吗? 非常感谢!
我刚刚编辑了这部分代码
{
while ($row = $rs->fetch_assoc())
{
fputcsv($fp, array_values($map));
fputcsv($fp, array_values($row));
}
但是现在,在 CSV 文件中,每个奇数行都有我称为 $map 的数组... 当然,我只需要它一次作为标题 谢谢你
【问题讨论】:
-
只需在您的代码中添加带有列标题的行?
-
fetch_assoc,然后才使用array_values- :ROLLEYES: ... -
如果你想从结果集中获取列名 - array_keys()。如果你想“可能覆盖”它们——那么首先指定应该如何发生,你想把这些数据保存在哪里。您是否需要将语句列名称与 CSV 列标题进行动态匹配(以便以后可以更改语句中的顺序),还是将所有这些都指定为一个列标题数组就足够了?
-
我不知道该怎么做,我是新手...
标签: php mysql csv mysqli export