我是Web开发的新手,并开始学习CRUD。
我的问题是,虽然我成功地在第一行上显示了列出3个产品的表,但在第二行上缺少了4号产品,并跳到了5号产品,并且每最后3行都保持缺失。
function getData(){
global $connect;
$query = "SELECT id, name, category, price, image, info FROM product_data";
$results = mysqli_query($connect, $query) or die(mysql_error());
echo "<table border = 0 >";
$x=1;
echo "<tr class='homepagetable'>";
while ($row = mysqli_fetch_array($results, MYSQLI_ASSOC)) {
if($x<=3){
$x = $x + 1;
extract($row);
echo "<td class='homepagetable'>";
echo "<a href=itemdetails.php?id=$id>";
echo '<img src=img/' . $image . ' style="max-width:220px;max-height:240px;width:220px;height:240px;"></img><br/>';
echo '<div class="truncate">'. $name .'</div><br/>';
echo "</a>";
echo 'Rp.'.$price .'<br/>';
echo "</td>";
} else {
$x=1;
echo "</tr><tr>";
}
}
echo "</table>";
}
提前致谢!
最佳答案
您的问题是您的条件有误:
if($x <=3)... else{...}
将if / else更改为此:
if($x <3){$x++;}
//...do something
if($x == 3){
$x = 1;
//Close and open tr
}
您需要关闭
<img>
标记,并关闭循环外的最后一个<tr>
标记关于php - 来自SQL查询的PHP不完整结果表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38979982/