Показывать 4 результата в строке независимо от количества запросов

0
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 изображения за строку. Благодарю вас заранее

  • 0
    Не изменяйте заголовок ваших вопросов на что-то бесполезное для других. Пожалуйста, отметьте ответ, который решил вашу проблему, как правильный, чтобы помочь будущим читателям.
Теги:
mysqli

2 ответа

1

Прежде всего изучите математику. Вы начинаете рассчитывать на

$i = 0 

и в вашем состоянии

if ($i > 4)

что верно только с шестнадцатым вариантом. Ваша последовательность:

0 1 2 3 4 5

Кроме того, вы увеличиваете значение $ я после его сброса, поэтому следующий цикл начнется с $ я == 1 next

<tr> 

тег не будет напечатан, потому что он проверяет нуль.

  • 0
    хорошо, спасибо .. Понял ..
0

Попробуйте это, должно работать:

  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>';  
  • 0
    Это работает на тебя @Jay?
  • 0
    Я не пробовал .. Я просто изменил номер счетчика в моем коде, и теперь он работает. спасибо Алё

Ещё вопросы

Сообщество Overcoder
Наверх
Меню