-1

我有一个显示 's 的循环,我<li>需要向第一个添加一个类,然后每六个添加一个类<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 回答