StevenAFC Posted January 25, 2007 Share Posted January 25, 2007 Hi Im trying to display a certain number of results from my database, basically the last 10 entries. $result = mysql_query("SELECT * FROM tblNews LIMIT 0 , 10"); if (!$result) { echo("The database could not be accessed at the moment"); } else { $data = mysql_fetch_array($result); } while($row = mysql_fetch_array($result)) { echo $row['heading'] . '<br>'; }At the moment I dont get any results, where am I going wrong?Thanks Link to comment https://forums.phpfreaks.com/topic/35722-displaying-results/ Share on other sites More sharing options...
StevenAFC Posted January 25, 2007 Author Share Posted January 25, 2007 [code] if (!$result) { echo("The database could not be accessed at the moment"); } else { $data = mysql_fetch_array($result); } while ($row = mysql_fetch_assoc($result)) { echo ($row["heading"]); }[/code]I thought this would work but no joy so far. Link to comment https://forums.phpfreaks.com/topic/35722-displaying-results/#findComment-169294 Share on other sites More sharing options...
tgavin Posted January 25, 2007 Share Posted January 25, 2007 It worked for me. All I did was change the table name and col name and I got a result.Silly question: is there data in the table? Link to comment https://forums.phpfreaks.com/topic/35722-displaying-results/#findComment-169297 Share on other sites More sharing options...
StevenAFC Posted January 25, 2007 Author Share Posted January 25, 2007 Yeah Only 1 piece though, but if i echo ($data["heading"]; i get the first bit. So the query is working. Link to comment https://forums.phpfreaks.com/topic/35722-displaying-results/#findComment-169300 Share on other sites More sharing options...
Tyche Posted January 26, 2007 Share Posted January 26, 2007 If you only have one record then you've already assigned it to the $data variableThe next mysql_fetch_array will return false because you have no more data so the echo is never processed. .. try[code]$result = mysql_query("SELECT * FROM tblNews LIMIT 0 , 10"); if (!$result) { echo("The database could not be accessed at the moment");} else { while($row = mysql_fetch_array($result)) { echo $row['heading']; }}[/code] Link to comment https://forums.phpfreaks.com/topic/35722-displaying-results/#findComment-169442 Share on other sites More sharing options...
trq Posted January 26, 2007 Share Posted January 26, 2007 If you only expect one record do NOT use a while() loop.[code]<?php if ($result = mysql_query("SELECT * FROM tblNews LIMIT 0 , 10")) { if (mysql_num_rows($result)) { $row = mysql_fetch_array($result); echo $row['heading']; } else { echo "No results found"; } } else { echo "Query failed ".mysql_error(); }?>[/code] Link to comment https://forums.phpfreaks.com/topic/35722-displaying-results/#findComment-169452 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.