如何在一个表中显示九个图像,每行使用php三个图像

时间:2010-01-08 03:52:34

标签: php html

我想在表格中显示九个图像,每行使用PHP显示三个图像。

3 个答案:

答案 0 :(得分:1)

这主要取决于你如何用PHP代表图像。 HTML标记应该类似于

<div class="img-table">
    <img ...>
    <img ...>
    <img ...>
    ....
</div>

和CSS:

.img-table {
    width:1000px; /* or whatever works */
}
.img-table img {
    width:30%;
    height:auto;
    display:inline;
    margin: 10px 1.5%; /* spacing: 20px vertically, 5% horizontally */
}

或者,如果您想使用<table>表:

<table class="img-table">
    <tr>
        <td><img ...></td>
        <td><img ...></td>
        <td><img ...></td>
    </tr>
    .....
</table>

如果您的图片网址位于数组中,例如

$imgs = array('path/to/img1.jpg','path/to/img2.jpg',...);

然后您可以像这样生成HTML:

$index = 0;
$html = '<div class="img-table">';
for ($i=0; $i<3; $i++) {
    for ($j=0; $j<3; $j++) {
        $html .= '<img src="' . $imgs[$index++] . '">';
    }
}
$html .= '</div>';
echo $html;

或表格:

$index = 0;
$html = '<table class="img-table">';
for ($i=0; $i<3; $i++) {
    $html .= '<tr>'
    for ($j=0; $j<3; $j++) {
        $html .= '<td>';
        $html .= '<img src="' . $imgs[$index++] . '">';
        $html .= '</td>';
    }
}
$html .= '</table>';
echo $html;

希望有所帮助。

答案 1 :(得分:1)

在表格中布置列图像

<? $perrow=3; $n=0; ?>
<table>
<? foreach($images as $i): ?>
    <? if($n == 0): print '<tr>'; endif; ?>
    <td><img src="<?=$i?>"></td>
    <? if(++$n >= $perrow): print '</tr>'; $n = 0; endif; ?>
<? endforeach; ?>
</table>

答案 2 :(得分:1)

<?php
      $images=ARRAY( a.gif","b.jpeg","c.jif","d.bmp");    
?>

<table border="0" cellspacing="1" cellpadding="0">
    <tr>
      <?php
          for($i=0; $i< count($images); $i++) {
             echo "<td>
                   <table width=100% border=0>
                      <tr><td>
  <img src=Download/$images[$i] width=130 height=130 border=0></td></tr>
                   </table>
                   </td>";
  if ( (($i+1) % 3) == 0 ) echo $newrow="</tr><tr>"; // change 6 to 8 and see
}
    ?>                
</tr>
</table>