只是想知道是否有人可以为每个循环给我一个厚脸皮的手…
我目前有一个产品表,我已经回应了一个表,每个表有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> £<?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> £<?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>.标签在正确的地方.