この表示されているテーブルの下に、その内容をCSVファイルとしてユーザーにデスクトップに保存させる「CSVダウンロード」リンクをつけたい場合どうしたらいいでしょうか? ファイル名は「日付.csv」のような形式が望ましいです。
【1000pt進呈】
// 接続
require_once("・・・.php");
echo '<table>';
echo '<thead><tr>';
echo '<th>id</th>';
echo '<th>name</th>';
echo '<th>price</th>';
echo '</tr></thead><tbody>';
// MYSQL呼び出し
$result = mysql_query("SELECT * FROM TABLEA");
while (($row = mysql_fetch_array($result, MYSQL_ASSOC)) != NULL) {
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['price'] . "</td>";
echo "</tr>";
}
mysql_free_result($result);
echo '<tbody></table>';
mysql_close($conn);
仕様[php5.2] [mysql5.1]
例えばですが、まず download.php というファイル名で、下記のようなダウンロード用PHPを設置します。
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=日付.csv");
// 接続
require_once("・・・.php");
echo "id,name,price";
echo "\n";
// MYSQL呼び出し
$result = mysql_query("SELECT * FROM TABLEA");
while (($row = mysql_fetch_array($result, MYSQL_ASSOC)) != NULL) {
echo $row['id'].",".$row['name'].",".$row['price'].",";
echo "\n";
}
mysql_free_result($result);
mysql_close($conn);
このファイルにダウンロードリンクを貼ればOKです。
<a href="download.php">CSVダウンロード</a>
お試しください。
$data = "";
while (($row = mysql_fetch_array($result, MYSQL_ASSOC)) != NULL) {
$data.= $row['id'].",".$row['name'].",".$row['price']."\n";
}
$file = date('Y-m-d').'.csv';
header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: application/octet-streame");
echo($data);
回答有難うございます。
質問にあるコードにあてはめて書いていただけるとありがたいです。
(ダウンロードリンクの部分も含めて)
例えばですが、まず download.php というファイル名で、下記のようなダウンロード用PHPを設置します。
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=日付.csv");
// 接続
require_once("・・・.php");
echo "id,name,price";
echo "\n";
// MYSQL呼び出し
$result = mysql_query("SELECT * FROM TABLEA");
while (($row = mysql_fetch_array($result, MYSQL_ASSOC)) != NULL) {
echo $row['id'].",".$row['name'].",".$row['price'].",";
echo "\n";
}
mysql_free_result($result);
mysql_close($conn);
このファイルにダウンロードリンクを貼ればOKです。
<a href="download.php">CSVダウンロード</a>
回答有難うございます。
nzworksさんの回答を加えて、encodingすることでやりたいことが出来ました。
やはりダウンロード用のファイルを用意しないといけないんですね。
回答有難うございます。
nzworksさんの回答を加えて、encodingすることでやりたいことが出来ました。
やはりダウンロード用のファイルを用意しないといけないんですね。