人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以下のPHPプログラムは、データベースのテーブルを読み込み、それをテーブル表示しているだけのものです。
この表示されているテーブルの下に、その内容を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]

●質問者: dekapurio
●カテゴリ:ウェブ制作
✍キーワード:CSV ECHO MySQL name PHP
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● nzworks
●200ポイント

お試しください。

$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);

◎質問者からの返答

回答有難うございます。

質問にあるコードにあてはめて書いていただけるとありがたいです。

(ダウンロードリンクの部分も含めて)


2 ● ヨネちゃん
●300ポイント ベストアンサー

例えばですが、まず 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することでやりたいことが出来ました。

やはりダウンロード用のファイルを用意しないといけないんですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ