Re: All records not displaying...
| From: | Tamara Temple | Date: | Sun, 19 Dec 2010 16:58:32 +0000 |
| Subject: | Re: All records not displaying... | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-310141@lists.php.net to get a copy of this message | ||
On Dec 19, 2010, at 9:46 AM, Gary wrote:
I have an issue that the first record in a query is not being displayed. It seems that the first row in alphabetical order is not being brought to the screen. I have run the query in the DB and it displays the correct result, so it has to be in the php. I have a MySQL DB that lists beers. I have a column for 'type' of beer (imported, domestic, craft, light). The queries: $result = MySQL_query("SELECT * FROM beer WHERE type = 'imported' AND stock = 'YES' ORDER by beername "); When I run the query if (mysql_num_rows($result) == !'0') { $row = mysql_fetch_array($result); echo '<h3>Imported Beers</h3>'; echo '<table width="100%" border="0" cellspacing="1" cellpadding="1" id="tableone" summary=""> <th>Beer</th> <th>Maker</th> <th>Type</th> <th>Singles</th> <th>6-Packs</th> <th>Cans</th> <th>Bottles</th> <th>Draft</th> <th>Size</th> <th>Description</th>'; while ($row = mysql_fetch_array($result)) { echo '<tr ><td>' . $row['beername'].'</td>'; echo '<td>' . $row['manu'] . '</td>'; echo '<td>' . $row['type'] . '</td>'; echo '<td width="40">' . $row['singles'] . '</td>'; echo '<td width="20">' . $row['six'] . '</td>'; echo '<td width="40">' . $row['can'] . '</td>'; echo '<td width="20">' . $row['bottles'] . '</td>'; echo '<td width="40">' . $row['tap'] . '</td>'; echo '<td>' . $row['size'] . '</td>'; echo '<td>' . $row['descrip'] . '</td>'; '</tr>'; } echo '</table><br />'; } All but the first row in alphabetical order are displayed properly. Can anyone tell me where I am going wrong? --Gary BTW, I do have a bonus question that is about javascript in this same file, so if anyone want to take a stab at that, I'll be happy to post it.This code will totally eliminate the first row of data.
if (mysql_num_rows($result) == !'0') { $row = mysql_fetch_array($result);Fetches the first row, but is not output. Because:
while ($row = mysql_fetch_array($result)) {Fetches the second row before you do any output of the data. Eliminate the first fetch_array and you're code should work fine. BTW, if you put the <td> attributes 'width="n"' in the preceding <th> tags, you won't have to output them for each row. You should also put the units those numbers are associated with.