如何操作数组中的前3个条目

时间:2009-10-01 15:34:17

标签: php mysql arrays

我目前正在开展一个项目,我正在使用它来提取数据 while($ r = mysql_fetch_array($ the_data))

我想制作第一个,说3-4个结果是不同的背景颜色,然后将其余部分保留为已经设计,我相信这里有一些简单的选项,但我只是不知道在哪里看真的..

希望你能帮忙,谢谢!

3 个答案:

答案 0 :(得分:0)

<?php    
$i = 0;
$r = mysql_fetch_array($the_data);
foreach($r as $row) {
    if($i <= 4) {
        // Do special styling...
    } else {
        // Do normal styling.
    }
    $i++;
}
?>

还是我误解了?

答案 1 :(得分:0)

您正在寻找类似的东西:

#specialResult {background-color: #fff; }
#normalResult {background-color: #000; }

因此,当您循环使用while语句时,您需要跟踪您所处的结果编号:

$i = 0;
while (...)
{
    if ($i < 4) echo "<div class='specialResult'>";
    else echo "<div class='normalResult'>"; 

    .... rest of your code

    $i++;
}

你可以做更短的代码:

$i = 0;
while (...)
{
    ?><div class='<?php echo ($i++ < 4 ?"specialResult":"normalResult); ?>'><?php

    .... rest of your code
}

答案 2 :(得分:0)

您还可以尝试以下方式:

$i = 0;
while ( ( $row = mysql_fetch_assoc ( $result ) ) && $i < 4 ) {
    /* Your first 4 rows */
    echo 'Special : ' . $row['title'];
    ++$i;   // Don't forget to increment
} while ( $row = mysql_fetch_assoc () ) {
    /* Normal way */
    echo $row['title'] . ' is already outdated';
}

更喜欢mysql_fetch_assoc()而不是mysql_fetch_array();)