SQL报告颜色



我们有"报告代理数据库的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行将是红色。第二3行将蓝色。但是条件是如果点相同,则应仅采用相同的颜色。如果您看到上述报告示例,SDF,SSR,EEW是蓝色的。但是ASW也与EEW相同,因此对于最后4行应该是蓝色。

我会做这样的事情

<?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);
?>

最新更新