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. 「li」フィールドの説明を含む別の列をDBに追加します

    (<li>Product:)
    

    そして、どういうわけか、Whileループで空ではないフィールドだけを出力します...

4

2 に答える 2

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>';
于 2012-09-22T14:49:11.107 に答える
0

ヘルパー関数でオプション 1 をラップすることを検討します。

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

そして、次のように呼び出します。

printProductListItem($product['Product']['name']);
于 2012-09-22T14:49:41.480 に答える