1つのPHPページから別のPHPページに変数を渡そうとしていますが、Excelのダウンロードをトリガします。しかし、私はどのように変数を渡し、まだダウンロードトリガーを持っているのか分かりません。私は、Excelファイルを作成する私のPHPページには変数が渡されないこと、またはダウンロードがトリガーされないことを理解しています。MySqlクエリにPHP変数を渡してExcelドキュメントを作成する方法ダウンロード
例えば、私は次の(非常に簡単な例を)やりたい:
variable.php
<?php
$date = '2012-02-15';
echo '<input type="text" id="date" value="'.$date.'"/>';
echo '<span onclick="excelDownload()">Click</span>';
?>
passing.js
function excelDownload(str)
{
Ajax...
var date = document.getElementById('date').value;
var queryString = "?date=" + date;
xmlhttp.open("GET", "excel.php" + queryString, true);
Ajax....
}
excel.php
<?php
Connect to database...
$date = $_GET['date'];
$file = "Names: ";
$result = mysql_query("SELECT * FROM Something WHERE date_field = '$date'");
$data = mysql_fetch_array($result);
$file.= $data['names']." ";
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=names.xls");
header("Pragma: no-cache");
header("Expires: 0");
print $file;
?>
Unfortun ately、$ _GET [date ']変数は、excel.phpをダウンロードしないようにします。私はexcel.phpページ内に静的なMySqlクエリを書くことで逃げることができたので、変数を渡す必要はありません。しかし、私は動的なエクセルダウンロードを作成する必要がありますが、私は自分の選択肢を理解するのにPHPで十分ではありません。副次的に、私はAjaxを使用し、 "submit"を利用しません。これは問題でしょうか?
_ Excelファイルを作成する私のPHPページには、変数が渡されない、またはダウンロードがトリガーされないことを理解しています。また、何かエラーがありますか? –
私は何のエラーも表示されず、代わりに新しいウィンドウが表示されます。これは、onclickイベントをトリガーした後、ダウンロードプロンプトは実行されません。私はどこかで、Excelのヘッダーを持つPHPページに、ダウンロードがトリガーするためのデータが入っていないと読んでいます。 MySQLのクエリに '2012-02-15'と書きましたが、変数を渡すのではなく、ダウンロードプロンプトが表示されます。 – user175328
質問を繰り返すには:MySqlクエリを実行する変数を渡し、MySqlクエリ結果を含むExcelファイルのダウンロードをトリガするにはどうすればよいですか?私の問題はPHPヘッダーの前に何も出力できないという事実です。 – user175328