Я хочу сделать таблицу, а затем для каждого 6 строк должно быть tr, а затем строки находятся внутри td.
Итак, пример:
<tr> <td><?php echo $show[id]; ?></td> // 1 <td><?php echo $show[id]; ?></td> // 2 <td><?php echo $show[id]; ?></td> // 3 <td><?php echo $show[id]; ?></td> // 4 <td><?php echo $show[id]; ?></td> // 5 <td><?php echo $show[id]; ?></td> // 6 </tr> <tr> // start new tr after 6 rows ...repeat the tds
Как я могу сделать что-то подобное? Я пробовал себя
<tr> <?php while ($show == mysql_fetch_array($query)){ ?> <td><?php echo $show[id]; ?></td> <?php } ?> </tr>
Но, как вы можете видеть, это просто вставляет все в один тр ..
спасибо
<tr> <?php $c = 0; // Our counter $n = 6; // Each Nth iteration would be a new table row while ($show = mysql_fetch_array($query)) { if($c % $n == 0 && $c != 0) // If $c is divisible by $n... { // New table row echo '</tr><tr>'; } $c++; ?> <td><?php echo $show[id]; ?></td> <?php } ?> </tr>
Ссылки по теме:
%
) на php.net Подсчитайте количество строк, если по модулю 6 равно нулю, затем эхо-сигнал </tr><tr>
<tr> <?php $i=0; while ($show == mysql_fetch_array($query)){ ?> <td><?php echo $show[id]; ?></td> <?php if(++$i%6 == 0) echo '</tr><tr>'; ?> <?php } ?> </tr>
Ты можешь сделать:
<tr> <?php $count = 0; while ($show = mysql_fetch_array($query)){ if($count == 6) { $count = 0; echo "</tr> <tr>"; } echo "<td>".$show[id]."</td>"; $count++; } </tr>
Вы случайно используете оператор сравнения ==
вместо оператора присваивания =
.
И чтобы всегда помещать шесть ячеек в каждую строку, я бы сделал следующее:
$perRow = 6; $counter = 0; echo '<tr>'; while ($show = mysql_fetch_array($query)) { if ($counter % $perRow === 0 && $counter !== 0) { echo '</tr><tr>'; } echo '<td>', $show['id'], '</td>'; $counter++; } while ($counter++ % $perRow !== 0) { echo '<td></td>'; } echo '</tr>';
Это гарантирует, что каждая строка будет правильно заполнена шестью ячейками.
<?php $countRows = 0; while ($show == mysql_fetch_array($query)){ if($countRows == 0) echo '<tr>'; ?> <td><?php echo $show[id]; ?></td> <?php $countRows++; if($countRows == 6){ $countRows = 0; echo '</tr>'; } ?> <?php } ?> <?php if($countRows < 6) echo '</tr>'; ?>