2017-02-04 2 views
1

Рад, что вы здесь. Мне нужно решение, и я очень новичок в этих вещах. Сейчас у меня есть страницы, глядя, как этотPHP styling while for

1.text 2.text 3.text 4.text 

, но мне нужно, чтобы это было как этот

1.text 2.text 
3.text 4.text 

кодекса У меня есть

<table > 
     <?php 
     for ($x = 1; $x <= 2; $x++): ?> 
     <tr> 
     <?php while($row = $choices->fetch_assoc()): ?> 
      <td><button class="pogaAtbilzuVarianti" value="<?php echo $row['id_var']; ?>" id="atbilde_a"><?php echo $row['teksts']; ?></button></td> 
     <?php endwhile; ?> 
     </tr> 
     <?php endfor; ?> 
     </table> 
+0

Проверить, если '$ i' делит поровну на две части. Если это так, закончите свою строку и запустите новую. – miken32

+0

У вас есть свои петли наизнанку ... Итак, вы хотите, чтобы ваши результаты базы данных во внешнем цикле (ваш цикл WHILE), а затем выполняли проверку внутреннего счета, чтобы генерировать новые строки для каждых 2 записей. – TimBrownlaw

+1

Спасибо за советы и подсказки :) @TimBrownlaw –

ответ

1

Петля for() бесполезен в этом, потому что цикл while() внутри него обрабатывает каждую строку, возвращаемую запросом.

Вы должны просто использовать цикл while, а затем использовать счетчик, чтобы узнать, следует ли начинать новый <tr>.

<table> 
<?php 
$counter = 0; 
while ($row = $choices->fetch_assoc()) { 
    if ($counter % 2 == 0) { // Start a new row before event elements 
     echo "<tr>"; 
    } 
    ?> 
    <td><button class="pogaAtbilzuVarianti" value="<?php echo $row['id_var']; ?>" id="atbilde_a"><?php echo $row['teksts']; ?></button></td> 
    <?php 
    if ($counter % 2 == 1) { // End row after odd elements 
     echo "</tr>"; 
    } 
    $counter++; 
} 
if ($counter % 2 == 1) { // End last row if it only had 1 column 
    echo "</tr>"; 
} 
?> 
</table> 
+0

Спасибо вам большое! –

0
<table > 
    <?php while($row = $choices->fetch_assoc()): 
    if(($row['id_var'] % 2) == 1) echo '<tr>'; 
    ?> 
     <td><button class="pogaAtbilzuVarianti" value="<?php echo $row['id_var']; ?>" id="atbilde_a"><?php echo $row['teksts']; ?></button></td> 
    <?php 
    if(($row['id_var'] % 2) == 0) echo '</tr>'; 
    endwhile; ?> 
</table>