0

SimpleXMLElement を使用して XML カタログ ファイルを読み取り、そのカタログに含まれる製品を Web サイトの CSS スタイルのテーブルに出力するコードがあります。

このコードは、すべての製品を並べて出力します。ただし、4つの製品を連続して表示したいだけです。

したがって、いくつか挿入する必要があります

<tr> </tr> 

配列内の製品の 4 (または x) 個ごとに続くタグ。

どうすればいいですか?私のコードは次のとおりです。

echo '<table class="products">';

foreach (getProdutcsFromCatalog($grpName) as $product) {


                        $output = '

                        <td>
                            <h2>' .$product->title .'</h2>
                            <div class="img">
                                <img src="' .$product->img . '" height="150" width="100" class =""/>
                            </div>  
                            <div>
                                '.$product->description.'
                            </div>
                            </div>
                            <div class="price">
                                <b>
                                    '.$product->price . ' DKK' . ' 
                                </b>
                            </div>
                            <div class="addToCart">
                                <a href="#">Læg i kurv</a>
                            </div>
                        </td>   

                        ';

                        echo $output;
                    }

                echo '</table>';
4

2 に答える 2

1

ループ$i = 0;を開始する前に初期化します。foreach次に、変更します

    echo $output;
}

に:

    if( $i % 4 == 0 ) echo "<tr>";
    echo $output;
    if( $i % 4 == 3 ) echo "</tr>";
    $i++;
}
于 2013-02-21T20:47:31.570 に答える
0

行ごとに 4 つのアイテムのみが必要な場合は、最初に XML 構造をループしてすべてのアイテムを配列に保存し、次にarray_chunk($items, 4)配列にループしてテーブルを生成することをお勧めします。

于 2013-02-21T20:46:47.113 に答える