SQL报告颜色

时间:2012-10-19 14:23:23

标签: php sql popup report admin

我们有以下sql代码用于报告代理数据库..

<?php
$sql=mysql_query("SELECT Name, sum( Points )AS Total_Points
FROM`allagentper`
GROUP BY Name
ORDER BY Points DESC ");
print"<table >";
print"<tr><th>Name</th><th>Points</th></tr>";
while($row=mysql_fetch_assoc($sql))
{
print"<tr>";
foreach($row as $value)
{

print"<td>";
echo $value ;
print "</td>";
}

print"</tr>";

}

print"</table>";


mysql_close($con);



?>

结束报告显示如下:

Name  points
abc     78
dks     65
sge     64
sdf     62    <= Blue
ssr     62    <= Blue
eew     60    <= Blue
asw     60    <= Blue

我需要为sql中的每3行着色行表。前3行将为红色。第二排3会蓝。但条件是如果点相同,它应该只采用相同的颜色..如果你看到上面的报告例子,sdf,ssr,eew是蓝色。但是也和eew一样,那么最后4行应该是蓝色。

1 个答案:

答案 0 :(得分:0)

我会做这样的事情

<?php
$sql=mysql_query("SELECT name, sum( Points )AS total_points
FROM`allagentper`
GROUP BY Name
ORDER BY Points DESC ");
print"<table >";
print"<tr><th>Name</th><th>Points</th></tr>";
$rowCounter = 0;
$previousTotal = -9999999;
while($row=mysql_fetch_assoc($sql))
{

if($rowCounter % 6 > 3)
{
$color = "#FF0000";
}
else
{
$color = "#0000FF";
}

print"<tr>";
print"<td>".$row->name."</td>";
print"<td style='color:".$color."'>".$row->total_points."</td>";
print"</tr>";

if($row->total_points != $previousTotal)
{
rowCounter++;
}
$previousTotal = $row->total_points;
}

print"</table>";
mysql_close($con);
?>