0
我試圖寫一個SQL查詢到PHP中的CSV文件。 [在前一個問題中] [1],我已經有了這個工作。不過,我試圖減少我的代碼中的重複可能從前面的例子。PHP:寫入到一個CSV文件,而流標題是在一個函數
我在一個函數創建頁眉/流包裝在這裏:
function csvCreate($filename){
header("Cache=Control: must-revalidate, post-check=0, pre-check=0");
header('Content-Description: File Transfer');
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename={$filename}");
header("Expires: 0");
header("Pragma: public");
$fh = @fopen('php://output', 'w');
}
我打電話,然後在條件語句中的函數並傳遞$文件名作爲參數的位置:
if(isset($_POST["Submit"]) && ($_POST['Weight'] == 'Weight'))
{
//csvCreate->$fileName .= 'OutputWeightNull.csv';
csvCreate('OutputWeightNull.csv');
$query = mysqli_query($conn, 'SELECT * FROM `bfi_product_volumne_data` WHERE weight = 0 OR weight IS NULL') or die(mysqli_error($conn));
if ($result = mysqli_fetch_array($query,MYSQLI_ASSOC))
{
fputcsv($fh, array_keys($result));
fputcsv($fh, $result);
while ($result = mysqli_fetch_array($query,MYSQLI_ASSOC))
{
fputcsv($fh, $result);
}
}
}
問題是數據沒有寫入CSV。我的感覺是我需要將'fputcsv'調用指向該函數。我嘗試過使用'csvCreate-> fputcsv',它看起來不起作用。任何人都可以提出什麼問題可以在這裏。謝謝
[1]: http://stackoverflow.com/questions/33433737/php-writing-a-mysql-query-to-cs
這很有效,非常感謝。當它變得可用時,我會標記爲正確。我必須承認,我不確定爲什麼這會起作用,如果你有時間你會介意解釋爲什麼?非常感謝。 –
查看更新的答案。 – Stepashka
謝謝@Stepashka –