[PHP-users 19947]テーブルのデータをEXCELに、コピーしたい

zai zai91210 @ sky.zero.ad.jp
2004年 1月 19日 (月) 00:35:09 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 メーリングリストの案内