-1

レポート エージェント データベースの次の 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 行は赤になります。2 番目の 3 行は青色になります。条件は点が同じなら同じ色だけでいいということですが、上記のレポート例を見ると、sdf、ssr、eewは青色です。しかし、同様に eew と同じポイントなので、最後の 4 行は青色である必要があります。

4

1 に答える 1

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);
?>
于 2012-10-19T14:34:34.937 に答える