2013-10-21 61 views
1

我一直在努力工作,出了問題我有現在沒有運氣一段時間...創建一個動態表基於SQL結果

我有一個SQL表($photos)到我需要它做一個HTML表以在放置這些,但是該表也只能是4行寬即

----------------------------------------- 
| image 1 | image 2 | image 3 | image 4 | 
----------------------------------------- 
| image 5 | image 6 | image 7 | image 8 | 
----------------------------------------- 

我有SQL結果集和列名如下$photo_id - >主鍵$linkUri - >基於pa的圖像位置ge(即/images/image1.gif)

有人可以給我一些指針或如何做到這一點的例子嗎?

會使用限制工作嗎?

任何幫助將超過有益的:)

回答

-1

您可以輕鬆地通過使用運營商設定的一個突破點,基於結果的數量的表格。您基本上會檢查您當前在處的按鍵分爲的密鑰是否等於0,然後結束當前表格行並開始新行。

棘手的一點是,如果你有9個元素,並且你在每一行顯示4,會發生什麼事情 - 在這種情況下,最後一個表格行需要填充空數據,這樣你的標記是仍然有效。無論如何,我寫了一小段有用的意大利麪條代碼,可以幫助你開始。只需在視圖中添加以下內容並根據需要替換變量即可。

<?php $columnWidth = 4;?> 
<table> 
    <tbody> 
     <tr> 

     <?php foreach ($images as $key => $image):?> 
      <?php if ($key % $columnWidth === 0 && $key !== 0):?> 
       </tr><tr> 
      <?php endif;?> 

      <td><?php echo img($image->linkUri);?></td> 
     <?php endforeach;?> 

     <?php 
      $elementsStillLeftToPad = $columnWidth - 1 - ($key % $columnWidth); 

      if ($elementsStillLeftToPad !== 0) { 
       for ($element = 0; $element < $elementsStillLeftToPad; $element++):?> 
       <td>&nbsp;</td> 
       <?php endfor; 
      } 
     ?> 

     </tr> 
    </tbody> 
</table> 

您可能會考慮將上面的代碼移到幫助程序中,因爲這樣會更乾淨,更幹。你也可以考慮使用一個模板引擎來減輕這個任務的負擔。

+0

感謝佩特,我會試試這個當我回家=] – Wakey2014

相關問題