2009-08-26 119 views
1

我有一個網站,某人X產品在他們的位置搜索和網站來發回的結果列表。交替CSS樣式結果

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'];?>&nbsp;&nbsp;<?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"; 
} 

} ?>

什麼是交替<div class="norm"><div class="alt">的最佳方式?

回答

3

保留一個計數器,並使用它的值模2來確定類是否應該是「行規」或「ALT」。

$rec2 = mysql_fetch_array($rs2); 
$count++; 
    ?> 
     <div class="<?php echo($count%2?"norm":"alt"); ?>"> 
+0

此表現的很出色。謝謝! – 2009-08-26 18:16:48

0

我傾向於使用這樣的事情:

$row = 0; 
foreach ($rec as $result) { 
    $class = $row++ & 1 == 1 ? 'alt' : 'norm'; 
    ... 
    echo <<<END 
<div class="$class"> 
... 
END; 
} 

您可以使用大括號在字符串中做了表達,但我通常不喜歡嵌入那種邏輯。這是(imho)有點難以閱讀。再加上給你的機會,其輸出用於調試更容易,等

0
if(some expression) 
{ 
    $class="norm"; 
} 
else 
{ 
    $class="alt"; 
} 
?> 
<div class="<?php echo $class;?>"> 
0

設置你的輸出循環的計數器。當計數器是偶數,設置類正常,否則將其設置爲交替。

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 
}