PHP产品数据库中的三列表

只是想知道是否有人可以为每个循环给我一个厚脸皮的手…

我目前有一个产品表,我已经回应了一个表,每个表有75%< hr>事后但我希望它成为一个三栏表.我不介意,例如,产品表中有4个产品,它在第一列,接下来的2个是空的等

现行守则如下……

<?php

if($results && mysql_num_rows($results) > 0){
?>

  <?php
    $i = 1;
    while($row = mysql_fetch_assoc($results)){
        $i++;
?><table width="750">
<tr>
    <td id="topbottom" width="220px"><a href="products.php?id=<?php echo($row['productId']); ?>"/><img src="images/<?php echo($row['imageName']); ?>"  width="220px"/></a></td>
    <td id="pad">
    <h1><?php echo($row['productName']); ?></h1>
    <br>
    <h2><?php echo($row['productType']); ?></h2>
    <br>
    <h3> &pound;<?php echo($row['productPrice']); ?></h3>
    <br>
    <?php echo($row['productDesc']); ?>
    <br /><br />
    <a href="products.php?id=<?php echo($row['productId']); ?>"/><img src="images/findout.png"/></a>

    </td>
  </tr></table><hr color="#6c3600" width="75%" />
<?php
    }
?>  


<?php
} else {
    echo("<p>No items found</p>");
}
?>

最佳答案

<table width="750">

<?php

if($results && mysql_num_rows($results) > 0){
?>

  <?php
    $i = 0; // Set this to 0, since php is 0 based
    $cols = 3; // Number of cols you want
    while($row = mysql_fetch_assoc($results)){
        // Use the modulus operator to see if i is an even multiple of $cols
        // If it is then we need to open a new table row
        if($i % $cols == 0) 
        {
            echo '<tr>';
        }    
?>
    <td id="topbottom" width="220px"><a href="products.php?id=<?php echo($row['productId']); ?>"/><img src="images/<?php echo($row['imageName']); ?>"  width="220px"/></a></td>
    <td id="pad">
    <h1><?php echo($row['productName']); ?></h1>
    <br>
    <h2><?php echo($row['productType']); ?></h2>
    <br>
    <h3> &pound;<?php echo($row['productPrice']); ?></h3>
    <br>
    <?php echo($row['productDesc']); ?>
    <br /><br />
    <a href="products.php?id=<?php echo($row['productId']); ?>"/><img src="images/findout.png"/></a>

    </td>
    <?php

    $i++;
    // Same as above but we want to close the table row after $cols
    if($i % $cols == 0) 
    {
        echo '</tr>';
    }
    ?>
<?php
    }
?>  

</table><hr color="#6c3600" width="75%" />


<?php
} else {
    echo("<p>No items found</p>");
}
?>

要寻找的关键事项:

将$i设置为0,因为php使用基于0的数组

设置一个名为$cols的var,它允许您轻松更改列数

使用%(模数)运算符来查找数字是否为列的偶数倍,以动态添加< tr>.标签在正确的地方.

点赞