我有一个网站,有人在他们的位置搜索x产品,网站会回显一个结果列表。
if(isset($_POST['zip'])){
$qry="SELECT business_id FROM ".TBL_BUSINESS." WHERE zip LIKE '%".$_POST['zip']."%'";
$rs = mysql_query($qry);
$rec = array();
while(($row = mysql_fetch_array($rs)) !== FALSE ){
$rec[] = $row[0];
}
if(!empty($rec[0])){
echo "Products for this location<br/>";
foreach ($rec as $result)
{
$bid = $result;
$qry2 = "SELECT * FROM products WHERE business_id = '".$bid."'";
$rs2 = mysql_query($qry2);
$rec2 = mysql_fetch_array($rs2);
?>
<div class="norm">
<img src="admin/product/img/<?php echo $rec2['image']; ?>" height="40" width="40" />
<h3><a href="product.php?id=<?php echo $rec2['id']; ?>"><?echo $rec2['name'];?> <?php echo $rec2['prodvalue']?></a></h3>
<div class="prodlistMeta">
<a class='view' href="product.php?id=<?php echo $rec2['id']; ?>">View Product</a>
<a class="print" href="#">Print</a>
</div>
</div>
<?php
}
}
else
{
echo "No Product is added for this location";
}
} ?&GT;
将<div class="norm">
替换为<div class="alt">
的最佳方式是什么?
答案 0 :(得分:3)
保留一个计数器并使用它的模2值来确定该类是“norm”还是“alt”。
$rec2 = mysql_fetch_array($rs2);
$count++;
?>
<div class="<?php echo($count%2?"norm":"alt"); ?>">
答案 1 :(得分:0)
我倾向于使用这样的东西:
$row = 0;
foreach ($rec as $result) {
$class = $row++ & 1 == 1 ? 'alt' : 'norm';
...
echo <<<END
<div class="$class">
...
END;
}
您可以使用花括号在字符串中执行表达式,但我通常不希望嵌入这种逻辑。这是(imho)有点难以阅读。除此之外,您还可以更轻松地输出它以进行调试,等等。
答案 2 :(得分:0)
if(some expression)
{
$class="norm";
}
else
{
$class="alt";
}
?>
<div class="<?php echo $class;?>">
答案 3 :(得分:0)
在输出循环上设置一个计数器。只要计数器是偶数,将类设置为正常,否则将其设置为交替。
答案 4 :(得分:0)
为什么不使用模数和行ID?更简单,不需要不必要的变量
foreach ($rec as $rid => $result)
{
$bid = $result;
$qry2 = "SELECT * FROM products WHERE business_id = '".$bid."'";
$rs2 = mysql_query($qry2);
$rec2 = mysql_fetch_array($rs2);
?>
<div class="<?=($rid % 2 == 0) ? 'norm' : 'alt' ?>">
<img src="admin/product/img/<?php echo $rec2['image']; ?>" height="40" width="40" />
<h3><a href="product.php?id=<?php echo $rec2['id']; ?>"><?echo $rec2['name'];?> <?php echo $rec2['prodvalue']?></a></h3>
<div class="prodlistMeta">
<a class='view' href="product.php?id=<?php echo $rec2['id']; ?>">View Product</a>
<a class="print" href="#">Print</a>
</div>
</div>
<?php
}
答案 5 :(得分:0)