只是想知道是否有人可以为每个循环给我一个厚脸皮的手......
我目前有一张产品表,我已经回复了一个表,每个表都有75%< hr>事后但我希望它成为一个三栏表。我不介意,例如产品表中有4个产品,第一列中有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> £<?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>");
}
?>
答案 0 :(得分:2)
<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> £<?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>
标记。