2013-04-08 342 views
2

我需要打印出一個封裝三個李的div,因爲我在數據庫中運行一個列表。當我使用bootstrap時,我需要在.span4的第三列之後爲每行分配一個.row流體,但是我在for循環工作時遇到了一些問題..這裏是未修改的代碼:嵌套for循環困難

<div class="row-fluid">' 
      <ul class="thumbnails"> 
      <?php 
       for($i=0; $i<count($rows); $i+=1){ 
      ?> 
      <!-- This is why sort by programme doesn't work - ID is not what I need --> 
      <li class="span4" id="<?php echo $rows[$i]['Class']; ?>"> 
       <div class="thumbnail"> 
       <img src="http://placehold.it/320x200" alt="ALT NAME"> 
       <div class="caption"> 
        <h3><?php echo $rows[$i]['Title']; ?></h3> 
        <?php if(!empty($rows[$i]["DateSold"])){ ?> 
        <span class="label label-warning" style="margin-bottom: 10px;">Book has been sold!</span> 
        <?php } ?> 
        <p>Seller: <?php echo $rows[$i]['FirstName'] . " " . $rows[$i]['LastName']; ?> </p> 
        <p>Email: <?php echo $rows[$i]['Email']; ?></p> 
        <p>Cost: <?php echo $rows[$i]['Cost']; ?></p> 
        <p>Condition: <?php echo $rows[$i]['BookCondition']; ?></p> 
        <p align="center"> 
        <?php echo '<a href="#myModal' . $i . '" class="btn btn-primary btn-block" data-toggle="modal">View More information</a>' ?> 
        </p> 
       </div> 
       </div> 
      </li> 
      <!-- Modal --> 
       <?php echo'<div id="myModal' . $i . '" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">'; ?> 
       <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> 
        <h3 id="myModalLabel">Book information</h3> 
       </div> 
       <div class="modal-body"> 
        <p>Title: <?php echo $rows[$i]['Title']; ?> </p> 
        <p>Seller: <?php echo $rows[$i]['FirstName'] . " " . $rows[$i]['LastName']; ?> </p> 
        <p>Email: <?php echo $rows[$i]['Email']; ?></p> 
        <p>Phone: <?php echo $rows[$i]['PhoneNumber']; ?></p> 
        <p>Condition: <?php echo $rows[$i]['BookCondition']; ?></p> 
        <p>Date added: <?php echo $rows[$i]['DateAdded']; ?></p> 
        <p>Class: <?php echo $rows[$i]['Class']; ?></p> 
        <p>Cost: <?php echo $rows[$i]['Cost']; ?></p> 
       </div> 
       <div class="modal-footer"> 
        <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button> 
       </div> 
       </div> 
       <?php 
      } 
      ?> 
      </ul> 
    </div> 

我需要覆蓋從DB每三個打印後的列表項排液的頂格父..

回答

2

在第二通讀,它似乎更像是要在一個單獨的DIV每三個LIS和UL。在這種情況下,您可以使用array_chunk

<?php $chunks = array_chunk($rows, 3); 
for ($i = 0; $i<count($chunks); $i++) 
{ 
    ?> <div class="row-fluid"><ul class="thumbnails"> <?php 
    for ($j = 0; $j<count($chunks[$i]); $j++) 
    { 
     ?> do your LIs in here <?php 
    } 
    ?> </ul></div> <?php 
} 
+0

是的,我想過類似的東西,但是如何確保在新行需要啓動之前只打印出三個列表項? – Kevin 2013-04-08 00:41:55

+0

使用array_chunk。我重寫了我的答案,因爲我認爲我第一次誤解了這個問題。 – hatkirby 2013-04-08 00:43:59

+0

我只是通過它現在讀通過謝謝(沒有聽說過這個功能之前,所以我要去試試看) – Kevin 2013-04-08 00:44:36