2011-12-22 4 views
0

Я новичок в программировании - я извлекаю информацию из базы данных, и мне приходится отображать эти элементы по 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 раза подряд.

+0

Что такое содержание верхней переменной $? –

+1

Вы не используете $ c для перехода через элементы в строке $ val. PHP не может понять, – Alfabravo

+0

$ top содержит имена некоторых изображений в базе данных – asitha

ответ

1

Если это не на самом деле табличные данные я бы отобразить все элементы в списке (ul), а затем просто отобразить все li с, как 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

Мне нужно использовать формат таблицы – asitha

0

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

0

Я не понимаю, почему существует цикл 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>"; 
} 
?> 
Смежные вопросы