I'm producing a site for a shoe manufacturer and I've succesfully managed (with help from forums such as this one!) to display results from a mysql query in a grid/table. However, it always seem to miss off the first record, ie the first shoe from a range is always missing! Any ideas? Here's my code :
Firstly the query (generated mostly by Dreamweaver MX!):
mysql_select_db($database_rw, $rw);
$query_womens = sprintf("SELECT * FROM shoes WHERE shoes.range_id = 4 ORDER BY shoes.group", $colname_mens);
$womens = mysql_query($query_womens, $rw) or die(mysql_error());
$row_womens = mysql_fetch_assoc($womens);
$totalRows_womens = mysql_num_rows($womens);
Now the code to display results in a table:
<?php
$templatesPerRow = 5 ;
$templateNumber = 0 ;
$displayTable = "<table border=\"0\" width=\"90%\" cellspacing=\"0\" cellpadding=\"0\">\n";
while( $row = mysql_fetch_array( $womens ) )
{
if ( $templateNumber == 0 )
{
$displayTable .= "<tr>";
}
$displayTable .= "<td align=\"center\">
<a href=\"javascript:Start('detail.php?shoe_id=".$row['id']."')\">
<img border=\"0\" src=\"thumbs/".$row['number'].".jpg\">
</br>".$row['name']."</a></td>";
$templateNumber++;
if ( $templateNumber == $templatesPerRow )
{
$displayTable .="</tr>";
$templateNumber = 0;
}
}
if ( $templateNumber !=0 )
{
$displayTable .= "</td>";
for( $i = $templatesPerRow; $i > $templateNumber; $i-- )
{
$displayTable .= "<td> </td>";
}
$displayTable .= "</tr>";
}
$displayTable .= "</table>";
echo $displayTable;
?>
Any suggestions greatly appreciated!🙂