SQL、PHP 导出为 CSV
Posted
技术标签:
【中文标题】SQL、PHP 导出为 CSV【英文标题】:SQL, PHP export to CSV 【发布时间】:2017-06-24 08:16:10 【问题描述】:我创建了这个 php 脚本来从我的数据库中提取一些数据并将其导出到 CSV。
我已将标题设置为 0、1、2,但我需要在第 0 列中添加一些静态文本。
例如静态、股票代码、数量。
正在从数据库中提取股票代码、数量。
任何帮助将不胜感激。
我的代码如下。
// open connection to mysql database
$connection = mysqli_connect($host, $username, $password, $dbname) or die("Connection Error " . mysqli_error($connection));
// fetch mysql table rows
$sql = "select ManufacturerPartNumber, (QuantityOnHand - QuantityOnSalesOrder) from iteminventory";
$result = mysqli_query($connection, $sql) or die("Selection Error " . mysqli_error($connection));
$fp = fopen('inventory.csv', 'w');
fputcsv($fp, array('0', '1', '2'));
while($row = mysqli_fetch_assoc($result))
fputcsv($fp, $row);
fclose($fp);
//close the db connection
mysqli_close($connection);
?>
【问题讨论】:
第 0 列中的“静态”是什么意思?某种 ID? 【参考方案1】:如果我理解正确,您想将某种 ID 放入 csv 的第一列,因此您必须在从 sql 结果中获得的数组的第一个位置添加“静态”项。
编辑 - 更新为在第一列具有静态值
例子:
...
while($row = mysqli_fetch_assoc($result))
array_unshift($row, 0);
fputcsv($fp, $row);
...
【讨论】:
【参考方案2】:成功了
$id = 0; // or whatever else you want to have in the first column
while($row = mysqli_fetch_assoc($result))
array_unshift($row, $id);
fputcsv($fp, $row);
$id;
【讨论】:
如果您希望所有行的第一列中的值都相同(但我想知道为什么 :-)),则不需要 $i 变量。我更新了我的答案...【参考方案3】:试试这个:
$header = array('Static', 'Stock code', 'QTY');
$fp = fopen('inventory.csv', 'w');
fputcsv($fp, $header);
【讨论】:
以上是关于SQL、PHP 导出为 CSV的主要内容,如果未能解决你的问题,请参考以下文章