Отображение в табличном формате - PullRequest
0 голосов
/ 22 декабря 2011

Я новичок в программировании - я получаю информацию из базы данных, и мне нужно отображать эти пункты 3 в каждой строке. Вот код:

<?php 
if($top) { 
   foreach($top as $val)
   { 
?>       
<tr>
<?php for($c=0;$c<=3;$c++) { ?>
   <td>
       <img src="<?= $val['image']; ?>" style="width: 75px;height: 75px;"/>
   </td>
<?php } ?>
</tr>
<?php 
    }
}
?> 

, но это показывает один и тот же элемент 3 раза подряд.

Ответы [ 3 ]

1 голос
/ 22 декабря 2011

Если это не табличные данные, я бы отображал все элементы в списке (ul), а затем просто отображал бы все li s как inline-block и давал бы им ширину 33%:

HTML

<ul id="my-list-of-items">
    <?php foreach ($top as $val) : ?>
        <li><img src="<?php echo $val['image'] ?>" alt="" width="75" height="75"/>
    <?php endforeach ?>
</ul>

CSS

#my-list-of-items {
    margin: 0;
    padding: 0;
    list-style: none;
}

    #my-list-of-items li {
        display: inline-block;
        width: 33%;
    }

Редактировать: Если у вас есть для использования таблицы, вам нужно напечатать </tr><tr> каждый третий элемент. Вы можете использовать модуль для этого:

if ($i++ % 3 == 0) echo '</tr><tr>';
0 голосов
/ 22 декабря 2011

Я не понимаю, почему есть цикл for, а изображение не в $val['image'], а в $val['preacher_image'] или $val['sermon_image'].

Ваш скрипт должен выглядеть так:

<?php 
if($top) { 
    $i = 0;
    foreach($top as $val) { 
        if ($i%3 == 0) echo "<tr>";
?>       
   <td>
       <img src="<?= $val['preacher_image']; ?>" style="width: 75px;height: 75px;"/>
   </td>
<?php
        if ($i%3 == 0) echo "</tr>";
        $i++;
    }
    if ($i%3 != 1) echo "</tr>";
}
?> 
0 голосов
/ 22 декабря 2011

Трудно сказать, чего вы хотите достичь.С вашего print_r $ val ['image'] ничего не вернет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...