Как манипулировать первыми 3 записями в массиве - PullRequest
0 голосов
/ 01 октября 2009

В настоящее время я работаю над проектом, в котором я извлекаю данные, используя while ($ r = mysql_fetch_array ($ the_data))

Я хочу сделать первый, скажем, 3-4 результата, другим цветом фона, а затем оставить все остальное как уже стилизованное, я уверен, что здесь есть какой-то простой вариант, но я просто не знаю, где на самом деле искать .. .

Надеюсь, вы можете помочь, спасибо!

Ответы [ 3 ]

0 голосов
/ 01 октября 2009

Вы ищете что-то вроде:

#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
}
0 голосов
/ 01 октября 2009

Вы также можете попробовать что-то вроде:

$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 ();)

0 голосов
/ 01 октября 2009
<?php    
$i = 0;
$r = mysql_fetch_array($the_data);
foreach($r as $row) {
    if($i <= 4) {
        // Do special styling...
    } else {
        // Do normal styling.
    }
    $i++;
}
?>

Или я неправильно понял?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...