每行显示 4 个结果,无论查询数量如何


Display 4 result per row whatever number of queries

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'] ."&nbsp;". 
         $row['model'] ."<br>".
         $row['color'] ."<br>".
         $row['storage'] ."<br>" ,"<br>".
         number_format($row['price']) ."&nbsp;" ."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'] ."&nbsp;". 
     $row['model'] ."<br>".
     $row['color'] ."<br>".
     $row['storage'] ."<br>" ,"<br>".
     number_format($row['price']) ."&nbsp;" ."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>';