2010-01-08 70 views
1

我想在表格中顯示九張圖像,每行使用PHP顯示三張圖像。如何在一張表中顯示九張圖像,每行使用三個圖像php

+2

你只需要CSS在這種情況下,包你的圖像一個div,並給它一些寬度。然後分配每個圖像約div的寬度的33%。 – 2010-01-08 03:55:57

+0

@Jay Zeng:他可能擁有一組圖像的URL,並且想用PHP來生成每行3列的行。 – 2010-01-08 03:57:29

+0

我並不想冒犯我......我沒有意識到你的意思是九...我將爲未來的搜索者編輯這個問題。 – 2010-01-08 03:59:48

回答

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> 
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

鋪出列的圖像在一個表中

<? $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> 
相關問題