-1

を表示するループが<li>あり、1番目にクラスを追加してから6つごとにクラスを追加する必要があり<li>ます

例:

while ($db_field = mysql_fetch_assoc($result)) {

    <li (if mod of 6 add class="something")>One</li>
    <li>Two</li>
    <li>Three</li>
    <li>Four</li>
    <li>Five</li>
    <li class="something">Six</li>
    <li>Seven</li>

}
...
4

2 に答える 2

4

剰余%演算子を使用するのは非常に簡単です。

$counter = 0;
while ($r = mysql_fetch_assoc($res) {
    $isSixthsLi = (bool) (($counter++) % 6 == 0); 
    echo $isSixthsLi ? '<li class="something">' : '<li>';
    echo htmlentities($r['content']);
    echo '</li>';
}

この($counter++) % 6式は、$ counterの余りを6で割った後、$counterをインクリメントすることを意味します。余りがゼロの場合(これは0、6、12、...に当てはまります)、<li>クラス名を付けて印刷します。それ以外の場合は印刷しません。

于 2012-05-15T13:14:20.940 に答える
1

私はこのリストが動的に来ると思いますそしてあなたは使うことができます

<?php 
 $i=0;
 foreach ($in as $v){  
        $i++;
        $class = (!$i%6) ? "something : "";  ?>
        <li class="<?=$class?>"><?=$v?></li>   

<?php } ?>  

注:私は速記タグを使用していますが、代わりに<?=使用できます<?php echo

于 2012-05-15T13:16:24.190 に答える