※ 引述《roga (凝視)》之銘言:
: ※ 引述《hotricky (陽光網球)》之銘言:
: : 最近寫php如相本的程式發現
: : 當我想將資料一筆筆以表格方式秀出來時
: : 都是由上往下一直生表格,請問有什麼辦法
: : 可以控制表格廻圈產生時,是可依照由左而右
: : 的順序產生呢?
: : 例如:
: : ★ ★ ★
: : ★ ★ ★
: : .....
: : 一行生出三格後自動換行產生這樣的順序
: : = = 或是簡單的問 無名相本 那樣的相本選單怎麼
: : 弄的也行…
: : 希望各位高手提供意見 謝謝喔^^
: 當然是用 CSS 去排比較快啊 XD
: 如果是用 table 排,要多很多次判斷和運算,還有多很多字元。
: for($i = 1 ; $i<= 1000 ; $i++) { //假設有 1000 個 item
: if($i % 4 == 1) // 多第一次運算&判斷,4個col換行
: echo '<tr>';
: echo '<td>item</td>';
: if($i %4 == 0) // 多第二次運算 & 判斷
: echo '</tr>';
: }
: 迴圈跑一千次,就多兩千次判斷+兩千次餘數運算,浪費啊...
: 而且還有一種問題要處理,就是當總數不等於欄位的倍數的時候,
: 你的頭會痛死 XD
: 不過現在大家 CPU 都很快,所以其實也沒差..多些一些 if else 就是了 XD
不見得要一堆判斷唷
<?php
$colsOfRow=3;
/***
假設 $item 的元素索引是由 0 遞增
***/
$total=count($item);
if(($n=$total%$colsOfRow)!=0){
for($i=0;$i<$n;$i++){array_push($item,'');
}
for($i=0;$i<$total;$i+=$colsOfRow){
?>
<tr>
<?php
for($j=0;$j<$colsOfRow;$j++){
?>
<td><?php echo $item[$i*$colsOfRow+$j]; ?></td>
<?php
}
?>
</tr>
<?php
}
?>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.158.15