アプリ版:「スタンプのみでお礼する」機能のリリースについて

はじめまして。
PHPで別サーバにあるMySQLのテーブル内容を表示しています。
表示されたテーブル内容をPHPからCSV出力したいのですが、どうすればよいのでしょうか?

下記のように、MySQLのあるサーバに接続して
$host = "10.160.XX.XXX";
mysql_connect($host, "test_user", "test_passwd")


下記のようにエクスポートしてみましたがダメでした。
$sql = "select * into outfile '/home/test/test.txt' fields optionally enclosed by '~' terminated by ',' from test";
$res = mysql_query($sql,$conn);



やりたいことは、ユーザがPHPの画面上からMySQLのさまざまなテーブル内容を選択表示した際に
ユーザの任意で("CSV出力"という文字をクリック)、表示されたテーブル内容をCSV出力したい。

サーバはPHP、MySQLともにLinuxです。
PHPのバージョンは5.1.4
MySQLのバージョンは4.1.20です。
宜しくお願い致します。

A 回答 (2件)

ヘッダでMIMEタイプを指定しする方法ですとこういう感じですかね。


MIMEタイプの指定だとサーバーやクライアントの設定によってはうまく動かなかったりしますが。




// ヘッダー:csv形式
header("Content-type: text/csv");
// ヘッダー:ファイル名「xxx.csv」
header("Content-disposition: attachment;filename='xxx.csv'");

$host = "10.160.XX.XXX";
mysql_connect($host, "test_user", "test_passwd")

$sql = "select * from test";
$res = mysql_query($sql,$conn);

// データを取り出して出力
while($ary = mysql_fetch_array($res,MYSQL_ASSOC)){
print(implode(",",$ary));
print("\n");
}
    • good
    • 0

出力したデータをCSVとしてファイルに書き出せばいいのでは?


またはヘッダでMIMEタイプを指定してCSVを直接出力するとか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!