Try this ...
<?php
$totalCount = ceil(mysql_num_rows($result)/3)*3;
for($k = 0; $k < $totalCount; $k ++) {
if($k%3 == 0) { echo '<tr>'; }
if($row = mysql_fetch_array($result)) {
echo '<td style="width:280px;">'.$row[goods_name].'</td>';
}
else {
echo '<td style="width:280px;"></td>';
}
if($k%3 == 2) { echo '</tr>'; }
}
?>
至於要特別指定某欄、某列的值,可以使用 mysql_result ;
此外我會建議將 mysql_fetch_array 換成 mysql_fetch_asoc ,
如果陣列不需要數字鍵的話。
還有 .... 其實 Table 切版很麻煩,
可以考慮改用 div 配合 float 去排出列表,
套 php Code 會比較神清氣爽 XD
※ 引述《mick90207 (阿公)》之銘言:
: 我想做個類似商品清單的顯示頁面
: 可以每列顯示三個商品
: 想請問前輩們該如何撰寫呢?
: 有爬到文說可以加個計數器 再利用mod 看看是否要在該迴圈中加<tr>
: 只是這樣寫下來
: if 判斷是否加tr
: echo "<tr>";
: do loop
: <td width="280"><? echo $row[goods_name]; ?></td>
: i++
: while...
: <tr>
: do loop
: <td width="280"><? echo $row[price]; ?></td>
: i++
: while...
: 這樣的話我一次只能把一欄的資料抓出來
: 我再寫第二列價格的時候
: $row[]裡面就會接續下去
: mysql有辦法指定特別要某欄某列的值嗎?
: 我現在的code 先把每欄直接*3看看前端介面用....
: <?php do{?>
: <tr>
: <td width="280"><? echo $row[goods_name]; ?></td>
: <td width="280"><? echo $row[goods_name]; ?></td>
: <td width="280"><? echo $row[goods_name]; ?></td>
: </tr>
: <tr>
: <td><? echo $row[price]; ?></td>
: <td><? echo $row[price]; ?></td>
: <td><? echo $row[price]; ?></td>
: </tr>
: <? }while($row=mysqli_fetch_array($result)); ?>