使用PHP显示带有图像的表

时间:2011-04-16 06:55:00

标签: php

我需要用php生成一个表,它将显示图像 - 存储在数据库中的名称。它必须连续显示3个图像。图像一直被添加到数据库中,因此我需要自动生成图像,而不是对表格进行硬编码。我不知道该怎么做?请帮忙!

4 个答案:

答案 0 :(得分:1)

您需要循环结果记录集并每隔3个元素打印出新行。

例如:

<table>
<tr>

<?php $i=0; foreach ($images as $image): ?>

  <td><?php echo $image['name'] ?> <img src="<?php echo $image['path'] ?>" /></td>
  <?php if(++$i%3==0): ?>
    </tr><tr>
  <?php endif ?>

<?php endforeach ?>

</tr>
</table>

答案 1 :(得分:0)

假设您从数组中获取数据库中的所有图像名称

$img_array = array(
                   1=>'f.jpg',
                   2=>'s.jpg',
                   3=>'t.jpg',
                   4=>'f.jpg',
                   5=>'e.jpg'
            );

// now create dynamic table via php
<table border="1" cellpadding="2" cellspacing="2" width="100%">
<tr>
<?php 
    $i=0;
    foreach($img_array as $k){
    if($i%3==0) { ?> </tr><tr> <?php } ?>
     <td><img src="<?php echo $k?>" border="0"></td>
<?php $i++; } ?>
 </tr>
</table>

注意:请在src

之前在<?php echo $k?>内写下完整路径的图片

答案 2 :(得分:0)

迭代图像记录,使用模3更改为下一个表行。

类似的东西:

echo '<table><tr>';
foreach ($images) {
    echo '<td>$image</td>';
    if ($i % 3 == 0) {
       echo '</tr><tr>';
    }
}
echo '</tr></table>';

答案 3 :(得分:0)

像这样的简单表就像

<table>
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr>
</table>

要自动生成此项,您需要存储在表格中的位置,第一列,第二列或第三列。

<?php
$pos = 1;

print "<table>"
for ($i=0; $i<=10;$i++)
{
  if ($pos==1)
  {
     print "<tr><td>1</td>";
     $pos=2;
   }
  else if ($pos==2)
  {
     print "<td>2</td>";
     $pos=3;
   }
  else if ($pos==3)
  {
     print "<td>3</td></tr>";
     $pos=1;
   }
 }
 if ($pos==2 || $pos==3)
    print "</tr>";

 print "</table>"

请记住,如果您使用其他评论中带有$ i%3的选项,那么您的表将以空行开始结束/结束。这需要额外的检查。 $ i%3将给出$ i和3的除法余数。所以当$ i / 3 == 0时,意味着它在每第三行都是真的。