Применение различных CSS к 10 лучшим результатам запроса

0

В приведенной ниже таблице отображаются результаты запроса с именем $sqlStr3. Он работает нормально. Запрос будет настроен для возврата 25 лучших результатов.

Я хотел бы применить уникальный CSS-класс (называемый "class1" для целей этого вопроса) в первую десятку результатов запроса. Как я могу это сделать?

Спасибо заранее,

Джон

$result = mysql_query($sqlStr3);
$count = 1;  
$arr = array();
echo "<table class=\"samplesrec1edit\">";
    while ($row = mysql_fetch_array($result)) { 
        echo '<tr>';
        echo '<td class="sitename1edit2a">'.$count++.'.</td>';
        echo '<td class="sitename1edit1"><a href="http://www...com/../members/index.php?profile='.$row["username"].'">'.stripslashes($row["username"]).'</a></td>';
        echo '<td class="sitename1edit2">'.number_format(($row["totalScore2"])).'</td>';
        echo '</tr>';
        }
    echo "</table>";
Теги:

5 ответов

2
Лучший ответ

используйте это:

$result = mysql_query($sqlStr3);
$count = 1;  
$arr = array();
echo "<table class=\"samplesrec1edit\">";
    while ($row = mysql_fetch_array($result)) { 
        if($count < 11){
            echo '<tr class="top-10">';
        }else{
            echo '<tr class="non-top-10">';
        }
            echo '<td class="sitename1edit2a">'.$count++.'.</td>';
        echo '<td class="sitename1edit1"><a href="http://www...com/../members/index.php?profile='.$row["username"].'">'.stripslashes($row["username"]).'</a></td>';
        echo '<td class="sitename1edit2">'.number_format(($row["totalScore2"])).'</td>';
        echo '</tr>';
        }
echo "</table>";

получить доступ к td top10 с помощью этого css

.top-10 td{
//definitions
}

и получить доступ к td строк не топ10 с помощью

.non-top-10 td{
//definitions
}
1

вы можете сделать это на стороне сервера через php, например:

 echo '<tr '.($count <=10 ? 'myclass' : '').' > ;

или в jquery в лицевой стороне, например:

$("someTableSelector").find("tr:lt(10)").addClass('myclass')
1
... class="...<?php if ($count <= 10) { ?> class1<?php } ?>" ...

И переместите приращение в конец цикла.

  • 0
    Спасибо ... где в коде я должен поставить это?
  • 0
    Где он назначает атрибут class для тега.
Показать ещё 4 комментария
0

Использовать CSS:


.samplesrec1edit tr:nth-child(-n+10) { 
   cssrule:value;
}

Этот метод работает только в новых браузерах. Следующая ссылка содержит графики совместимости.

http://reference.sitepoint.com/css/pseudoclass-nthchild

  • 0
    Можно только мечтать ... :(
  • 0
    Я нахожусь в очень редкой, но удачной ситуации, когда могу гарантировать, что все пользователи моего приложения используют браузеры html5 webkit. Я лишь с опозданием вставил в свой ответ предупреждение нового браузера, так как он регулярно забывает о моих мыслях.
0

Как назначить каждому результату из TOP10 уникальный класс, называемый top_result_ [n]?

while ($row = mysql_fetch_array($result)) { 
        echo '<tr'.($count++ <=10 ? ' class="top_result_'.$count.'"' : '').'>';
        echo '<td class="sitename1edit2a">'.$count.'.</td>';
        echo '<td class="sitename1edit1"><a href="http://www...com/../members/index.php?profile='.$row["username"].'">'.stripslashes($row["username"]).'</a></td>';
        echo '<td class="sitename1edit2">'.number_format(($row["totalScore2"])).'</td>';
        echo '</tr>';
        }
    echo "</table>";

Я не уверен, что вы хотите применить ONE-класс для всех 10 результатов или UNIQUE-класса для каждого из 10 результатов, как и в первом случае, код будет выглядеть следующим образом:

while ($row = mysql_fetch_array($result)) { 
        echo '<tr'.($count++ <=10 ? ' class="top_result"' : '').'>';
        echo '<td class="sitename1edit2a">'.$count.'.</td>';
        echo '<td class="sitename1edit1"><a href="http://www...com/../members/index.php?profile='.$row["username"].'">'.stripslashes($row["username"]).'</a></td>';
        echo '<td class="sitename1edit2">'.number_format(($row["totalScore2"])).'</td>';
        echo '</tr>';
        }
    echo "</table>";

Ещё вопросы

Сообщество Overcoder
Наверх
Меню