对于每个输出(sql)一个不同的类

时间:2014-07-18 09:19:43

标签: php mysql

if ($result = $mysqli->query($query)) {
    while ($list = $result->fetch_object()) {
        $titel = $list->titel;
        echo "<li class=\"wow fadeInLeft\">$titel </li> ";
    }    
    $result->close();
}

我在表格中有几行。有些行需要fadeInleft类,第二行需要fadeInRight类,第三行需要fadeInleft,第四行需要fadeInRight等。

最好的方法是什么?

4 个答案:

答案 0 :(得分:1)

你想要奇数/偶数的不同类。试试这个 -

$i = 1;
while ($list = $result->fetch_object()) {
    if($i %2 == 0) {
        $class = 'fadeInRight';
    } else {
        $class = 'fadeInLeft';
    }

    //Use $class in li
    echo "<li class='wow $class'>$titel</li>";

    $i++;
}

答案 1 :(得分:1)

也许有更好的方法,但

$check=True;
while ($list = $result->fetch_object()) {
     $titel = $list->titel;
     $cls=$check ? "fadeInRight" : "fadeInLeft"
     echo "<li class=\"wow $cls\">$titel </li> ";
     $check=!$check
}    
$result->close();

答案 2 :(得分:0)

您可以使用模数。像这样:

$i = 1;
if ($result = $mysqli->query($query)) {
    while ($list = $result->fetch_object()) {
        $titel = $list->titel;
        $class = ($i % 2 == 0) ? 'fadeInLeft' : 'fadeInRight';
        echo "<li class='wow $class'>$titel</li>";
    }
    $result->close();   
}

或者使用按位:

$i = 1;
if ($result = $mysqli->query($query)) {
    while ($list = $result->fetch_object()) {
        $titel = $list->titel;
        $class = ($i & 1) ? 'fadeInLeft' /*odd*/ : 'fadeInRight' /*even*/;
        echo "<li class='wow $class'>$titel</li>";
    }
    $result->close();   
}

答案 3 :(得分:0)

@ paubo147的解决方案略短,不需要额外的变量,并在检查值的同时进行分配。

$check=True;
while ($list = $result->fetch_object()) 
{
     $titel = $list->titel;
     echo "<li class=\"wow ".(($check=!$check) ? "fadeInRight" : "fadeInLeft")."\">$titel </li> ";
}    
$result->close();