2011-12-05 12 views
0
while($row= mysql_fetch_object($result)){ 
    $row->products_price=$row->products_price-($row->products_price*0.05); 
    echo $row->products_id ." ". $row->products_price."<br/>"; 
} 

は、どのように私は1つの行時間とtxtファイルに$row->products_id ." ". $row->products_priceを置くことができますか?MySQLクエリの各結果をテキストファイルに1つずつ入れる方法は?

+1

関数のfopen、fwriteの、FCLOSE等のために、PHPのマニュアルを確認だけhttp://php.net/fwriteそして私は、fopenのためのマニュアルページをチェックfwriteの – mishu

+0

ありがとう追加するfopenのためのパラメータを確認してください。あなたは、あなたが「」..たくさんあります使用することができ、ファイルを開いたときに、既存のコンテンツを切り捨てるしたくない場合はphp.net/fopen ..あなたはすでに..あなたにこれを実行する1つの方法を示して答えを持っています何が必要なのかを確認してください – down321

+0

の第2引数を設定する方法がわからない、 – mishu

答えて

3
$content = ""; 
while ($row = mysql_fetch_object($result)){ 
    $row->products_price = $row->products_price-($row->products_price * 0.05); 
    $content .= $row->products_id . " " . $row->products_price . "\r\n"; 
} 
file_put_contents("filename.txt", $content, LOCK_EX); 

編集:(ヒカル-進藤のバージョン)

while ($row = mysql_fetch_object($result)){ 
    $row->products_price = $row->products_price-($row->products_price * 0.05); 
    file_put_contents("filename.txt", $row->products_id . " " . $row->products_price . "\r\n", FILE_APPEND | LOCK_EX); 
} 
+0

これは一度に1行を書き込むのではなく、一度に全行を書き込みます。 –

+0

はい、それがより良い理由です! 1つの行を別の行に書き込むと、処理が進んでいくのに時間がかかります。 – noob

+0

+1私は彼が一度に1行を要求したとは思わないが(新しい行の各結果行のように)... @micha、あなたのコードを少し編集した。 – Shomz

0
$fh = fopen("myfile.txt", "w+"); 
while($row= mysql_fetch_object($result)) 
{ 
    $row->products_price=$row->products_price-($row->products_price*0.05); 
    fwrite($fh, $row->products_id ." ". $row->products_price."\r\n"); 
} 
fclose($fh); 
+0

書き込み操作だけが行われるので、モード「w」で十分であると思います。 http://php.net/manual/en/function.fopen.phpを参照してください –

+1

あなたはもっと近代的な機能に移行してみませんか?我々はPHP5を持っている!あなたが追加した理由 – noob

+0

ますfile_put_contents同じようにうまくいくだろう...同じ結果を達成するための1つの以上の方法をtheresの\ r \ nはfwriteにありますか? – craig1231

関連する問題