-1

私はこのコードを持っています

$query = mysql_query("SELECT * FROM my_table ORDER BY id ASC");
$i=0;
while($row = mysql_fetch_array($query)){
    if ($i%2==0) {
        <div class="main">
            <div class="wrapper-main">
    }
       <article>test string1</article>
       <article>test string2</article>
if ($i++%2==1) {
            </div>
        </div>
    }  
}

結果の数がペア数である場合、これは完璧に機能しますが、奇数の場合、「div」は閉じられません。どのように解決しますか?

私の結果は次のようになります。

 <div class="main">
     <div class="wrapper-main">
         <article>test string1</article>
         <article>test string2</article>
     </div>
 </div>
 <div class="main">
     <div class="wrapper-main">
         <article>test string1</article>
     </div>
 </div>
4

2 に答える 2

1

2 番目のテストでは、値をインクリメントする$i に の値を評価します (「ポスト インクリメント」をググるとよいでしょう)。$iしたがって、divが奇数の場合は閉じません。$iが偶数の場合、実際には存在しない div を閉じます。

2 番目のテストを

if ($i++%2==1)

if ($i++%2==0)

私の好みを提案できますか(明確にするために):

if ($i%2==0) {
    // close your divs
}
$i++;
于 2012-06-09T11:25:57.290 に答える
0

while ループの後に次を追加できます。

if ($i%2==1) {
            </div>
        </div>
    }
于 2012-06-09T11:10:12.380 に答える