我创建了这个php脚本,从我的数据库中提取一些数据并将其导出为CSV。
我的标题设置为0,1,2,3,4,5但我在第2,3,4和5列需要一些静态文本。
例如股票代码,QTY,静态,静态,静态,静态。
股票代码QTY正从数据库中提取。
任何帮助都将不胜感激。
我的代码如下。
// 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', '3' '4' '5'));
while($row = mysqli_fetch_assoc($result))
{
fputcsv($fp, $row);
}
fclose($fp);
//close the db connection
mysqli_close($connection);
我有一天用这段代码把东西放到第一列。
$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; }
答案 0 :(得分:0)
您将结果提取到关联数组中,这意味着每个行看起来像:['name1'=> 'value1','name2'=> '值']
首先,您应该使用select语句中的AS Quantity
等名称从DB中为您的第二个值提供一个名称。然后,您可以按照您喜欢的方式将行中的值复制到新数组中,或者使用您需要的值扩展行(这是一个数组)。由于您在CSV的情况下工作索引,我建议您创建一个新数组并填充它。
$csvrow = array();
$csvrow[0] = $row['ManufacturerPartNumber'];
$csvrow[1] = $row['Quantity'];
$csvrow[2] = $firstStaticThingy;
... and so on.
fputcsv($fp, $csvrow);