2012-09-22 52 views
0

我需要顯示包含產品詳細信息的頁面。例如如何過濾視圖中的空白字段?

<ul> 
<li>Product: <?php echo $product['Product']['name'] ?></li> 
<li>Features: <?php echo $product['Product']['Features'] ?></li> 

等(可能是20-30場)

的問題是,每一個產品可能有也可能沒有空白的領域,我只需要顯示不空字段的用戶。

如何正確結果進行篩選,生成和顯示僅

<li> 

包含的信息?

我看到3種方法。

  1. 許多許多的

    <?php if (!empty($product['Product']['name']) echo "<li>Product: ".$product['Product']['name']."</li>"?> 
    
  2. 添加某種JS過濾的(我不知道JS所以它可能是不可能實現)
  3. 添加另一列一起DB「李」字段描述

    (<li>Product:) 
    

    然後以某種方式輸出只有While循環不是空場...

回答

1

試試這個:

echo '<ul>'; 
    foreach($product['Product'] as $key => $value) { 
     if ($product['Product'][$key] != '') { 
      if ($key == 'Info') { 
       echo '<li>Some text that describes information for a user: ' . $value . '</li>'; 
      } 
      else { 
       echo '<li>' . $key . ': ' . $value . '</li>'; 
      } 
     } 
    } 
    echo '</ul>'; 
+0

但是這種方法我在示例中丟掉了跟隨li標籤的描述字段。 – user1327

+0

您在哪裏存儲說明字段?不在$ product ['Product']數組中嗎? –

+0

我的英語肯定很糟糕,對不起。換句話說,我會試圖描述情況。我需要顯示:

  • 某些描述用戶信息的文本:<?php echo $ product ['Product'] ['Info']?>
  • user1327

    0

    我會考慮的一個輔助功能包裝選項1:

    function printProductListItem($value) 
    { 
        if (!empty($value) 
         echo "<li>Product: " . $value . "</li>"; 
    } 
    

    ,並調用它是這樣的:

    printProductListItem($product['Product']['name']);