sd21 Posted August 5, 2008 Share Posted August 5, 2008 I'm trying to return the last 8 rows in the table in descending order. Everything works fine except one thing. The newest row doesn't show up. For example, if there are 8 rows it will only return the oldest 7. They are sorted by an auto incrementing id number. Does anyone have any ideas on what I may be doing wrong? Here's my code: <?php //connect to messages table to determine new messages $hostname='******************'; $username='*****'; $password='********'; $dbname='*****'; mysql_connect($hostname,$username, $password) OR DIE ('Unable to connect to database! Please try again later.'); mysql_select_db($dbname); $query = "SELECT * FROM comms ORDER BY `commid` DESC LIMIT 8"; $result = mysql_query($query) or die(mysql_error()); $row = mysql_fetch_array($result) or die(mysql_error()); echo "<p class = \"comms\">"; // while loop to populate communications panel $query = "SELECT * FROM comms ORDER BY `commid` DESC LIMIT 6"; $result = mysql_query($query) or die(mysql_error()); $row = mysql_fetch_array($result) or die(mysql_error()); echo "<p class = \"comms\">"; while($row = mysql_fetch_array($result)){ echo $row['user']. "<br> "; echo $row['comm']. "<br><br>"; } echo "</p>"; Link to comment https://forums.phpfreaks.com/topic/118297-last-row-not-being-returned/ Share on other sites More sharing options...
cooldude832 Posted August 5, 2008 Share Posted August 5, 2008 take the query into phpmyadmin and look at what u get Link to comment https://forums.phpfreaks.com/topic/118297-last-row-not-being-returned/#findComment-608761 Share on other sites More sharing options...
sd21 Posted August 5, 2008 Author Share Posted August 5, 2008 Ok the query returned what I wanted so it must be how I'm telling the php to print the results. It must be starting to print at row 1 instead of 0. Link to comment https://forums.phpfreaks.com/topic/118297-last-row-not-being-returned/#findComment-608775 Share on other sites More sharing options...
cooldude832 Posted August 5, 2008 Share Posted August 5, 2008 yes because you declraed $row = mysql_fetch twice everytime you restate ($row = mysql_fetch) it advances the row position in the resource. That is why the syntax while($row = mysql_fetch)){ works because it advances until its out of rows Link to comment https://forums.phpfreaks.com/topic/118297-last-row-not-being-returned/#findComment-608865 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.