2013-11-02 76 views
0

我被卡住了 - 我從一個在線商店的MySQL表中拉出商店物品。查詢返回項目。通常情況下,我想我用下面,列出每個產品在單獨一行:從MySQL表格(PHP)中的行中顯示商店產品

<table> 
<?php 
while($rows = mysql_fetch_array($productListResults)){ 
?> 
<tr align="left"> 
<td><b><?php echo $rows['manufacturer']; ?> 
</tr> 
<?php } ?> 
</table> 

然而,現在,我想顯示每行3-4個產品,然後繼續進行產品的其餘部分在下一行。我在下面包含了一個例子。任何幫助將不勝感激!謝謝!

PRODUCT1  PRODUCT2  PRODUCT3 

PRODUCT4  PRODUCT5  PRODUCT6 

PRODUCT7  PRODUCT8  PRODUCT9 

回答

0
<table> 
    <tr> 

<?php 
$split=0; 
while($rows = mysql_fetch_array($productListResults)){ 
    echo '<td><strong>'.$rows['manufacturer'].'</strong></td>'; 
     $split++; 
     if ($split%3==0){ 
     echo '</tr><tr>'; 
     } 

    } '; 
    </tr> 
    </table> 
0

當然可以。做到這一點的最簡單方法很可能是使用一個變量來跟蹤你已經在這一行打印了多少。

的僞代碼看起來是這樣的:

let $i = 0 
for each result from the database: 
    if $i is equal to 0: 
     echo the stuff that's needed to start a row (<tr>, etc.) 

    print out the stuff needed for a cell in the table, based on $row 
    increment $i by 1 

    if $i is equal to 3: 
     echo the stuff that's needed to end a row (</tr>, etc.) 

repeat the process if you still have more rows to print 
0
<table> 
    <?php 
    $rows = mysql_fetch_array($productListResults); 
    $columns = 3 
    for ($i = 0; $i < count($rows); $i++) { 
    ?> 
     <?php if ($i % $columns == 0): ?> 
     <tr align="left"> 
     <?php endif; ?> 
     <td><b><?php echo $rows[$i]['manufacturer']; ?></b></td> 
     <?php if ($i % $columns == ($columns - 1) || $i == count($rows) - 1): ?> 
     </tr> 
     <?php endif; ?> 
    <?php } ?> 
</table> 

請讓我知道,如果它不能正常工作。

0

有幾種方法可以解決這個問題。 PHP方式是這樣的:

<table><tr> 
<?php $i = 0; while ($row = mysql_fetch_array($productListResults)) { ?> 
    <td><?php echo $row['manufacturer']; ?></td> 
<?php if (0 == ++$i % 3) { ?> 
     </tr><tr> 
<?php } ?> 
<?php } ?> 
</tr></table> 

這種方法從一行開始,然後開始循環和添加列。當列數是我們想要的計數的整數除數時,該行停止。 (「$ i%3」中的「3」)。

這種方法並不理想。請注意,它可能導致在特定的邊緣情況下爲空。修復這是一個讀者練習。

這就是說,也許你想考慮在CSS中這樣做。這樣,您可以輸出一個直線列表,然後使用演示文稿調整流程以滿足您的需求。這裏有一個簡單的介紹:http://csswizardry.com/2010/02/mutiple-column-lists-using-one-ul/

相關問題