В приведенной ниже таблице отображаются результаты запроса с именем $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>";
используйте это:
$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
}
вы можете сделать это на стороне сервера через php, например:
echo '<tr '.($count <=10 ? 'myclass' : '').' > ;
или в jquery в лицевой стороне, например:
$("someTableSelector").find("tr:lt(10)").addClass('myclass')
... class="...<?php if ($count <= 10) { ?> class1<?php } ?>" ...
И переместите приращение в конец цикла.
Использовать CSS:
.samplesrec1edit tr:nth-child(-n+10) {
cssrule:value;
}
Этот метод работает только в новых браузерах. Следующая ссылка содержит графики совместимости.
Как назначить каждому результату из 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>";
class
для тега.