Reputation: 21
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);
?>
Upvotes: 0
Views: 1457
Reputation: 24645
Note this message on the PHP page for mysql_result
Calls to mysql_result() should not be mixed with calls to other functions that deal with the result set.
This is going to advance your record pointer past the first result so your calls to mysql_fetch_array are going to be off by one.
Anyway I think what you are after is
<?php
// create query
$query = "SELECT * FROM products";
// execute query
$result = mysql_query($query) or die ("Error in query: $query. ".mysql_error());
// 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>".$row["id"]."</td><td>".$row["name"]."</td><td><a href='".$row["imageurl"]."' class='fancybox fancybox-effects-e' title='".$row["name"]."'><img src='".$row["imageurl"]."' alt='".$row["name"]."'></a></td><td>€ ".$row["price"]."</td><td>".$row["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);
?>
Upvotes: 3