如何在表格中显示具有特定颜色的前10个条目的记录

时间:2014-10-15 06:16:53

标签: php html css sql

我试图在表格中显示具有特定颜色的前10名企业的记录

我的查询仅供参考

$sqlsum=mysql_query("SELECT `userid`, SUM(`points`) as `total` FROM 
    `tablename` GROUP BY `userid` ORDER BY total DESC LIMIT 10");

下面的代码显示一个简单的表格,我需要显示表格,TOP 10条目的颜色不同[蓝色] ..其余的保持不变[白色背景]。 顶部10可以是蓝色,并且是白色。 下面是我用来显示记录的代码。

<?php 

      while($row = mysql_fetch_array($sqlsum)) 
      {
echo "<tr> ";
     echo "<td>" .$row[userid] . "</td>";
     echo "<td>" .$row[total] . "</td>";
     }

echo "</tr> " ;
      ?>

我有这个表结构作为样本。我希望使用此代码。该表需要相同,但我不是要找到逻辑,如何构建表   这种结构

     <table>
    <thead><tr><td colspan="2"><center>Prizes</center></td></tr><tr>
<th>Position</center></th><th><center>Prize</center></th></tr></thead>
    <tbody><tr><td>1st</td><td>0.0$</td></tr>
    <tr class="alt"><td>2nd</td><td>0.0$</td></tr>
    <tr><td>3rd</td><td>0.0$</td></tr>
    <tr class="alt"><td>4th</td><td>0.0$</td></tr>
    <tr><td>5th</td><td>0.0$</td></tr>
    </tbody>
    </table>

2 个答案:

答案 0 :(得分:1)

删除限制10以获取所有数据:

$sqlsum=mysql_query("SELECT `userid`, SUM(`points`) as `total` FROM 
 `tablename` GROUP BY `userid` ORDER BY total DESC");

PHP:

<?php 

$i=1;

while($row = mysql_fetch_array($sqlsum))
{
     echo "<tr ".(($i <= 10) ? "bgcolor='blue'" : '')'."> "; 
     // Apply attrinute bgcolor for backgroung color
     echo "<td>" .$row[userid] . "</td>";
     echo "<td>" .$row[total] . "</td>";
     echo "</tr>";
     $i++;
}

?>

答案 1 :(得分:0)

设置指标变量以指向它。

<?php 

      $rowNumber = 0;
      while($row = mysql_fetch_array($sqlsum)) 
      {
         if ($rowNumber < 10)
         {
             echo "<tr class=\"alt\"> ";
         }
         else
         {
             echo "<tr> ";
         }

         echo "<td>" .$row[userid] . "</td>";
         echo "<td>" .$row[total] . "</td>";
         echo "</tr> " ;

         $rowNumber++;
     }

?>