我正在嘗試從我的查詢結果中創建一個 CSV 文件,但我需要先格式化數據,然后再將其寫入 CSV。我有一個工作代碼,可以將整行打印到 csv 并且工作正常。header('Content-Type: text/csv; charset=utf-8'); header('Content-Disposition: attachment; filename=data.csv');$output = fopen("php://output", "w"); fputcsv($output, array('ID', 'Name', 'Country', 'Province/City' 'Address', 'Gender', 'Track', 'Payment Option'));, $sql = "SELECT * FROM STUDENTINFO order by GRADELEVEL";$result = $conn->query($sql);if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { fputcsv($output, $row); }fclose($output);我知道上面的代碼會輸出完整的行。但是有沒有辦法在寫入 csv 之前先格式化特定字段?if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { $name = $row['FIRSTNAME']." ".$row['MIDDLENAME']." ".$row['LASTNAME']; $gradelevel = glvlDESCRIPTION(row['GRADELEVEL']); if ($row['TRACK'] == "AW") { $track = "A With Activities"; } else { $track = "A Without Activities"; } fputcsv($output, $row['STUDENTID'], $name, $row['COUNTRY'], $row['PROVINCE'], $row['ADDRESS'], $track...); } fclose($output);
1 回答

搖曳的薔薇
TA貢獻1793條經驗 獲得超6個贊
fputcsv
期待第二個參數的數組,因此您可以事先構建數據,或者只是[]
在調用中添加數據以將其作為數組傳遞...
fputcsv($output, [ $row['STUDENTID'], $name, ... ])
- 1 回答
- 0 關注
- 122 瀏覽
添加回答
舉報
0/150
提交
取消