I need a little help. This code miss the first row, I don't know the reason. I've searched a lot around the web but everyone talk about the mysql_fetch_array($results) but there's nothing similar in my code.
Do you find something wrong in this code?
<?php
// create query
$query = "SELECT * FROM products";
// execute query
$result = mysql_query($query) or die ("Error in query: $query. ".mysql_error());
$id = mysql_result($result,$i,"id");
$name = mysql_result($result,$i,"name");
$imageurl = mysql_result($result,$i,"imageurl");
$price = mysql_result($result,$i,"price");
$quantity = mysql_result($result,$i,"quantity");
// see if any rows were returned
if (mysql_num_rows($result) > 0) {
// yes
// print them one after another
echo "<table class='table table-hover'>";
echo "<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Image</th>
<th>Price</th>
<th>Quantity</th>
</tr>
</thead>";
while($row = mysql_fetch_array($result)) {
echo "<tr>";
echo "<td>".$id."</td><td>".$name."</td><td><a href='".$imageurl."' class='fancybox fancybox-effects-e' title='".$name."'><img src='".$imageurl."' alt='".$name."'></a></td><td>€ ".$price."</td><td>".$quantity."</td>";
echo "</tr>";
}
echo "</thead>";
echo "</table>";
}
else {
// no
// print status message
echo "No rows found!";
}
// free result set memory
mysql_free_result($result);
// close connection
mysql_close($connection);
?>
SELECT * FROM productsis your query.. how do you know what is supposed to be your first row when you don't use any ordering?$id, you reference$i. Where was$iassigned a value?$i? You initialise$id, but never re-set it when you're looping through your results, so it's only ever going to output the same value. (ditto for the other four variables)