将不同的CSS应用于查询的前10个结果

时间:2010-10-11 09:27:14

标签: php mysql css

下表显示了名为$ 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 个答案:

答案 0 :(得分: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>";

使用此css

访问top10的td
.top-10 td{
//definitions
}

并使用

访问非top10行的td
.non-top-10 td{
//definitions
}

答案 1 :(得分:1)

... class="...<?php if ($count <= 10) { ?> class1<?php } ?>" ...

将增量移动到循环的末尾。

答案 2 :(得分:1)

您可以通过php在服务器端中执行此操作:

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

正面中的jquery,如:

$("someTableSelector").find("tr:lt(10)").addClass('myclass')

答案 3 :(得分: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>";

我不确定你是否想为所有10个结果应用ONE类,或者从10个结果中为每个结果应用UNIQUE类,对于第一种情况,代码将是:

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>";

答案 4 :(得分:0)

使用CSS:


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

此技术仅适用于较新的浏览器。以下链接具有兼容性图表。

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