dombrorj Posted February 7, 2011 Share Posted February 7, 2011 I'm working with little php background here and trying to write mysql table data to a text file. So far what I have is... $query = "SELECT * FROM `list` "; $result = mysql_query($query) or die("Query failed : " . mysql_error()); while ($line = mysql_fetch_array($result)) { $file = "export.txt"; $fhandle = fopen($file, 'w') or die("can't open file"); $stringdata = $line["listid"]. "\n"; fwrite($fhandle, $stringdata); //write to text file fclose($fhandle); } All this does is write the very last row in my table to the text file. If I switch fwrite to the 'a' mode, it works... but I don't want it to append to existing data. Ideally I'd like to wipe any contents in the existing text file clean before adding all new data from the query. Any thoughts? Thanks for the help! Quote Link to comment https://forums.phpfreaks.com/topic/226984-fwrite-only-writing-last-item-in-table/ Share on other sites More sharing options...
ChemicalBliss Posted February 7, 2011 Share Posted February 7, 2011 You open the file and close the file outside of your while loop, not inside, as each entry it loops is opening the file, puttnig th data in and closing. again and again, each obviously overwriting the last. hope this helps Quote Link to comment https://forums.phpfreaks.com/topic/226984-fwrite-only-writing-last-item-in-table/#findComment-1171092 Share on other sites More sharing options...
AbraCadaver Posted February 7, 2011 Share Posted February 7, 2011 You are opening for writing (truncating the file) each time through the loop. Only do it once: $query = "SELECT * FROM `list` "; $result = mysql_query($query) or die("Query failed : " . mysql_error()); $file = "export.txt"; $fhandle = fopen($file, 'w') or die("can't open file"); while ($line = mysql_fetch_array($result)) { $stringdata = $line["listid"]. "\n" fwrite($fhandle, $stringdata); //write to text file } fclose($fhandle); Quote Link to comment https://forums.phpfreaks.com/topic/226984-fwrite-only-writing-last-item-in-table/#findComment-1171093 Share on other sites More sharing options...
dombrorj Posted February 7, 2011 Author Share Posted February 7, 2011 Ahhh, okay that makes sense. I feel like I should hit myself. Thanks for updating the code for me. Works perfectly now. Quote Link to comment https://forums.phpfreaks.com/topic/226984-fwrite-only-writing-last-item-in-table/#findComment-1171102 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.