echo '<table class="table-condensed" style="width:700px; margin-left:25%;margin-top:-270px;" id="table1">';
$i = 0;
while($row = mysqli_fetch_array($query)) {
$image = $row['name'];
$product_id = $row['product_id'];
$withoutExt = preg_replace('/''.[^.''s]{3,4}$/', '', $image);
if($i == 0){
echo '<tr>';
}
echo '<td style=text-align:center; font-size:12px;>'.'<img src="admin/image/'.$image.'" style="height:100px; width:auto;"/>'.'<br>';
echo $row['brand'] ." ".
$row['model'] ."<br>".
$row['color'] ."<br>".
$row['storage'] ."<br>" ,"<br>".
number_format($row['price']) ." " ."Php". "<br>";
echo '<a href="mobile.php?product_id=<?php echo $product_id?>"><input type="submit" value="View this item" class="btn-primary"></a>'.'</td>';
if($i > 4){
$i = 0;
echo '</tr>';
};
$i++;
}
echo '</table>';
我现在在我的数据库中有 9 个查询,它显示
img1 img2 img3 img4 img5 img6
Img7 img8 img9 //which is wrong
我想要它:
Img1 img2 img3 img4
img5 img6 img7 img8
img9 img10 img11 img12
每次我添加查询时,表行都不会更改为每行 4 张图像。提前谢谢你
首先要学习数学。你开始计数
$i = 0
在你的条件下是
if ($i > 4)
正好是第 6 个选项。您的顺序是:
0 1 2 3 4 5
此外,您在重置 $i 值后递增它,因此下一个循环将以 $i == 1 开始
下一个<tr>
标记不会被打印,因为它检查零。
试试这个,应该可以工作:
echo '<table class="table-condensed"
style="width:700px; margin-left:25%;margin-top:-270px;" id="table1">';
$i = 0;
while($row = mysqli_fetch_array($query)) {
$image = $row['name'];
$product_id = $row['product_id'];
$withoutExt = preg_replace('/''.[^.''s]{3,4}$/', '', $image);
if ($i % 4 == 0) { echo '<tr>'; }
echo '<td style=text-align:center; font-size:12px;>'.'<img src="admin/image/'.$image.'" style="height:100px; width:auto;"/>'.'<br>';
echo $row['brand'] ." ".
$row['model'] ."<br>".
$row['color'] ."<br>".
$row['storage'] ."<br>" ,"<br>".
number_format($row['price']) ." " ."Php". "<br>";
echo '<a href="mobile.php?product_id=<?php echo $product_id?>"><input type="submit" value="View this item" class="btn-primary"></a>'.'</td>';
if ($i % 4 == 2) { echo '</tr>'; }
$i++;
}
if ($i % 4 != 0) { echo '</tr>'; }
echo '</table>';