[PHP-users 19938]テーブルのデータをEXCELに、コピーしたい
zai
zai91210 @ sky.zero.ad.jp
2004年 1月 17日 (土) 02:56:48 JST
zaiです、今回もよろしくお願いいたします。
環境は、WindowsXP Pro、Apache1.3.28、PHP4.2.2、MySQL3.23.51です。
1.MySQLのテーブルtamの中から、指定した期間のレコードをCSVファイル
tam.csvに、出力する方法を教えてください。
(MySQLコマンドでは、出来たのですが、PHPでは出来ませんので、ここに質問
をさせていただきました。)
SELECT * FROM tam
WHERE nyuinday between '2000-01-01' and '2004-12-31'
INTO OUTFILE './db/temp/tam.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n';
上のものは、正常に、出力されます。しかし、以下のものは、出力されるレコー
ド数が、数件あるのですが、なぜか0になります。
<?php
function sakusei($nday_f, $nday_e){
$svname = "test";
$dbname = "db";
$tbname = "tam";
$usname = "root";
$psname = "****";
$mycon = mysql_connect($svname, $usname, $psname) or die("接続エラー");
mysql_select_db($dbname) or die("接続エラー");
$sql="SELECT * FROM $tbname
WHERE nyuinday between '$nday_f' and '$nday_e'
INTO OUTFILE './db/temp/tam.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'";
$result = mysql_query($sql);
mysql_close($mycon);
return;
}
?>
<FORM method="post" action="<?php echo $PHP_SELF ?>">
期間開始日<input type="text" name="nday_f">
期間終了日<input type="text" name="nday_e">
<?php sakusei($nday_f, $nday_e); ?><p>
<input type="submit" value="ファイル出力">
</FORM>
また、次のことについても教えてください。
2../db/temp は、MySQLをインストールしたディレクトリの下部、
|--mysql
| |--data
| |--db
| |--temp
|
|--temp2
ですが、このディレクトリを、MySQLの外に、例えば、temp2に作成したいのです。
3.まだ、よく理解できませんので、先ず、tam.csvに出力することを目指して
おります。最終目標は、既存ファイルである tam.xlsに、出力して、その中のマ
クロを実行したいのです。既存ファイルtam.xlsに、レコードのみ新規出力する
方法。
よろしくお願いいたします。(いろいろ質問が多くなってしまいました、別の
subjectを切ったほうがよかったかも知れませんが、ご容赦ください)
PHP-users メーリングリストの案内