MySQLデータをCSVファイルにエクスポートする際に問題がありますが、テーブルから正しくデータを出力しますが、csvファイルの最後にhtmlページコードも表示されます。PHPを使用してMySQLデータをCSVファイルにエクスポート
billing_id;customer_id;user_id;trans_id;transfer;balance;created;text;credit;sender_id
257;29;;-1;0;500000;1330930434;Payment;500000;
258;29;;-1;200000;300000;1330930465;Sender ID reg.;0;jkjjhh
284;32;;-1;0;1000000;1331708884;Payment;1000000;
285;32;564;268;-120;999880;1331709106;SMS send;;
286;32;;-1;0;1000000;1331709234;Payment;120;
287;32;564;269;0;1000000;1331723634;SMS send;;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Client Manger</title>
<link rel="stylesheet" href="/style/my-style.css">
<form action='./' method='post'>
<input type="hidden" name="action" value="billing" class="text">
<input type="hidden" name="customer_id" value="" />
何の理由が考えられます。
以下は私のコード
$file="billing";
$i=0;
$values = mysql_query("SELECT * FROM billing");
$rown=0;
while($row = mysql_fetch_assoc($values)){
if($rown++==0)
$csv_output.=implode(";",array_keys($row))."\n";
$csv_output.=implode(";",array_values($row))."\n";
}
$filename = $file."_".date("Y-m-d_H-i",time());
header("Content-type: text/csv");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header("Content-disposition: filename=".$filename.".csv");
print $csv_output;
}
出力のですか?
ありがとうございます。あなたはページのそれ以外の残りの部分(つまり近い}
の外(私はif
文の終わりである疑いがある))を印刷します(したがって、CSVに含まれる)print $csv_output;
後exit;
またはdie();
を持っている必要があります
それはあなたの貼り付けられたコードの外の何かのように見えます。あなたは見渡して、私たちに何かを贈ったことを忘れていたかどうかを見てください。 – nyson
ヘッダーを自動的に作成するフレームワーク内で実行していますか? – Snowcrash