2012-12-29 38 views
-3

我的MySQL數據庫輸出imagenames數組我被困在這個循環中,請他圖像的PHP數組包裹五個圖像在一個div

<?php foreach ($newarrivaldata as $row){ ?> 
     <?php echo $row['imgfile'].'<br/>';?> 
    <?php }?> 

$ newarrivaldata有18個圖像文件如何 這樣顯示出來?

<div id='page1'> img1 img2 img3 img4 img5 </div> 

<div id='page2'> img6 img7 img8 img9 img10 </div> 

<div id='page3'> img11 img12 img13 img14 img15 </div> 

<div id='page4'> img16 img17 img18     </div> 

UPDATE:的var_dump($ newarrivaldata)

array 
    0 => 
    array 
     'idvehicle' => string '970' (length=3) 
     'name' => string 'Toyota RX400' (length=12) 
     'imgfile' => string '12122809355412.jpg' (length=18) 
     'imgtype' => string 'coverimg' (length=8) 
    1 => 
    array 
     'idvehicle' => string '972' (length=3) 
     'name' => string 'asd' (length=3) 
     'imgfile' => string '12122815555612.jpg' (length=18) 
     'imgtype' => string 'coverimg' (length=8) 

    ....upto 17=> 
+0

爲什麼要刪除你的問題? – Sibu

+0

已經有答案時刪除問題爲時已晚。 – AD7six

+0

可能是由於SO社區的接待不佳,可能是由於缺乏對此問題的努力造成的。 – Bojangles

回答

1

您可以更新您的問題包括

print_r($newarrivaldata); 

輸出。如果你只是希望輸出表逐字(讓我建議你重置所有的東西,從i = 0開始,行和列,我們不以1開頭,我們總是以0開頭,所以page0,img0等):

$numColumns = 5; 
for($row=0; $row<ceil(count($newarrivaldata)/$numColumns); $row++){ 
    echo "\n<div id='page$row'>"; 
    for($c=0; $c<$numColumns; $c++){ 
     if(isset($newarrivaldata[$row+$col])){ 
     echo '<img src="'.$newarrivaldata[$row+$col]['imgfile'].'" />'; 
     } 
    } 
    echo "</div>" 
} 

我所做的是採取了你的陣列,它拆分成5排,但改變$爲numColumns到另一個值將其分割爲$爲numColumns列的行。我必須計數($ newarrivaldata)/ $ numColumns)的原因是,如果您的數組不是$ numColumns的精確倍數,那麼您將收到來自PHP的警告,所以我只是想避免這種情況。

+0

Tx爲答案我已更新問題! – Fara

+0

在這種情況下,嘗試我的for循環,你的var_dump看起來幾乎是我的預期,所以我寫的for循環是完美的。那麼,因爲我在瀏覽器中鍵入它,它可能會有1或2個語法錯誤,如缺少括號,但是是正確的行/列輸出來吐出你想要的HTML。 – chwagssd

0

嘗試這種方式,這將是一個起點

<?php 
$newarrivaldata = array("one", "two", "three", "four","five","six","seven","eight","nine","ten","elevn","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighten"); 
$key=1; 
foreach ($newarrivaldata as $row){ 
     echo $row."&nbsp;&nbsp;"; 
    if($key%5 == 0) echo "<br/>"; 
    $key++; 
    }?> 

Working demo