从MySQL表中显示行存储产品(PHP)

时间:2013-11-02 03:29:43

标签: php mysql

我被卡住了 - 我正在从一个MySQL表中提取商店商品用于在线商店。查询返回项目。通常情况下,我会使用以下内容,它将每个产品列在一个单独的行中:

<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

4 个答案:

答案 0 :(得分: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

答案 1 :(得分: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>

答案 2 :(得分: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>

如果不起作用,请告诉我。

答案 3 :(得分: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/