2011-10-27 30 views
0

私は製品リスト(多次元配列で9つの製品)を持っている、私はすべての9つの製品は3 div列で注文されることを達成したい。例データベースは3つのdiv列のPHPで

product1  product4  product7 
product2  product5  product8 
product3  product6  product9 

そして、私の配列構造が、私はこれが

<div class="container"> 
<div class="prod-column"> 
    <div class="product-slot"> 
     product1 
    </div> 
    <div class="product-slot"> 
     product2 
    </div> 
    <div class="product-slot"> 
     product3 
    </div> 
</div> <!-- close column --> 
<div class="prod-column"> 
    <div class="product-slot"> 
     product4 
    </div> 
    <div class="product-slot"> 
     product5 
    </div> 
    <div class="product-slot"> 
     product6 
    </div> 
</div> <!-- close column --> 
<div class="prod-column"> 
    <div class="product-slot"> 
     product7 
    </div> 
    <div class="product-slot"> 
     product8 
    </div> 
    <div class="product-slot"> 
     product9 
    </div> 
</div> <!-- close column --> 
</div> <!-- close container --> 

のようになります。また、私はAnswered here

でなく、内のコードを見つける方法をhtmlコードを持って

array(
    array(product_name1), 
    array(product_name2), 
    array(product_name3), 
    array(produ‌​ct_name4), 
    array(product_name5) 
) 

あるため 私の場合私は最後に空白の行を持っている、私はなぜ私が持っている理由を見つけることができません最後に空のprod-列は

+1

ポストあなたの配列構造 –

+0

配列(配列(product_name1)、配列(product_name2)、配列(product_name3)、配列(product_name4)、配列(product_name5 )) –

+0

また、私は8製品とリンクされたコードをチェックして、このコードの作業をチェックすると、それは私も10の製品を入れて –

答えて

-1

はこれを試してみてください、事前に助けを

おかげです。製品名がインデックス付き配列の最初の要素であると仮定します。そうでない場合は、$array[$i][0]を適切に変更してください。また、3つで割り切れる数の製品があると仮定しています(おそらく常にそうではないでしょう)ので、空のフィラーフィールドは生成されませんが、うまくいけばアイデアが得られます。

echo "<div class=\"container\">\n"; 

for ($i = 0, $j = 0; isset($array[$i]); $i++) { 
    if ($j == 0) { 
    echo "<div class=\"prod-column\">\n"; 
    } 
    echo " <div class=\"product-slot\">\n  {$array[$i][0]}\n </div>\n"; 
    if ($j == 2) { 
    echo "</div>\n"; 
    $j = 0; 
    } else $j++; 
} 

echo "</div>"; 
+0

...そしてこれに間違っているのは、まさに? – DaveRandom

+1

真剣に、私は間違っていても構わないとは思っていませんが、説明無しにdownvotingするだけで失礼です、そして彼らの間違いから学ぶ人々を促進しません... – DaveRandom

+0

私はまだチェックしてからあなたの最初のバージョンのコード –

0

のMSソリューションは次のようになります:

<div class="container"> 
<?php 
for ($i = 0,$c=count($array); $i<$c; $i++) { 
    if ($i % 3 == 0) { 
?> 
<div class="prod-column"> 
<?php 
    } 
?> 
<div class="product-slot"><?php echo $array[$i][product];?></div> 
<?php 
    if ($i % 3 == 2) { 
?> 
</div> 
<?php 
    } 
} 
?> 
</div> 
関連する問題