[PHP-users 19959]Re: テーブルのデータをEXCELに、コピーしたい
zai
zai91210 @ sky.zero.ad.jp
2004年 1月 19日 (月) 23:51:48 JST
zaiです、毎度。
皆様、ご回答ありがとうございます。
Tadashi Jokagiさん、近藤さん、Setoさん、kohei-wさん、ありがとうございま
す。
Tadashi Jokagiさん:
> 「CSV の生成処理をまったくしていないから出てこないだと思います.」
はい、そうですね。
kohei-wさん: 参考にして、CSV生成処理を、追加しました。
<?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);
while ($myrow=mysql_fetch_array($result, MYSQL_ASSOC)) {}//この部分
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>
近藤さんの
> また、ご存知だと思いますが、既にtam.csvがあると
> 書き込みしてくれないようですので注意が必要です。
原因は、これでした。私の場合は、書き込まないのではなく、上書きでした。
上のスクリプトで調べましたところ、
(Setoさん:
> 直前または直後の$sqlの内容は確認されましたか?
> 内容をそのままコピーしてMySQLのコマンドで実行してみてどうでしょうか?
お蔭様で、以下のテストが出来ました。
)
1.以下の警告を出しますが、
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL
result resource in C:xxxxxx.php on line nn
サイズ0のtam.csvファイルが抽出されます。
2.その後で、入力ボックスの指定期間で抽出を再度実行します。しかし、先に
1で作成されたtam.csvが存在しますので、なぜかサイズ0(?)で、上書きしま
す。
3.結果、出力されなかったように、見える。
1.の処理をせず(警告の非表示)、2.の処理だけをさせるには、どうすれ
ばよいのでしょうか。ご指導お願いいたします。
> _______________________________________________
> PHP-users mailing list PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
PHP-users メーリングリストの案内