2012-10-17 56 views
2

我正在用sql編寫學生性能表單。只有2個colums。在性能上設置不同的行表顏色基礎

sl no. Name Points 
1  Admam 89 
2  Russel 86 
3  Andy  79 
4  Lance 76 
5  Steve 75 
6  jack  74 
7  Phil  70 
8  mark  67 
9  kevin 65 
10  andrew 65 
11  brian 64 
12  pat  63 

這是SQL報告格式。我需要上色表每3 students..For第3的學生(1,2,3)被稱爲「鑽石」所以這3行需要顏色灰色。接下來三個學生(4,5,6)稱爲「鉑」,以便3行需要綠色。

但在下一行中,Phi,Mark,Kevin需要顏色爲黃色。但是安德魯也因爲同樣的觀點而加入凱文。所以,現在4行應作爲着色黃色。請讓我知道怎麼做的DAT ....

+1

給每個點一個顏色代碼和應用樣式 –

+0

[在MySQL中的算術函數](http://dev.mysql.com/doc/refman/5.0/en/arithmetic-functions.html) - 具體來說,模數運營商應在這裏工作。 – Ohgodwhy

回答

0

看看這個小提琴phpfiddle

 <?php 
     $points=array(1,1,1,2,2,3,3,3,3); 
     $color= array(1=>'red',2=>'green',3=>'yellow'); 
    ?> 

     <table width="100%"> 
      <?php 
     foreach($points as $key=>$grade) 
     {?> 
     <tr> 
     <td style="color:<?php if($key!=0 && $points[$key]!=$points[$key-1]) 
     {echo $color[$grade];} else{ if(($key+1)%3==0) 
{ echo $color[$grade];} else {echo $color[$grade];} } ?>"> 
student <?php echo $key; ?></td> 
     </tr> 
     <?php }?> 
    </table> 
+0

Ya正確。但有一個問題..如果你看到sl沒有。 7,8,9,分是不同的。笏點是否相同? sl號9和sl號。 10是相同的點..因此它應該來相同的等級,它成爲4行..我們如何計算dat –

+0

9和10都必須得到相同的顏色是不是? –

+0

亞相同的顏色。但每3行顏色應該改變。因此,根據我的報告,10,11,12是不同的顏色。但這裏的東西是9和10是一樣的。 7,8,9,10相同的顏色。 –

0

使用顏色每個範圍點這樣

$colors = array(
    1 => 'grey', 
    2 => 'green', 
    3 => 'yellow', 
    4 => 'black' 
); 
$i = 0; 
$color_id = 0; 
$lastpoint = -1; 
foreach($students as $id=>$student) { 
    $color_id += ($i % 3 == 0 && $student['point'] != $lastpoint) ? 1 : 0; 
    $lastpoint = $student['point']; 
?> 
<tr> 
    <td style="color:<?php echo colors[$color_id];?>";> 
     <?php echo $student['name']; ?> 
    </td> 
</tr> 
<?php 
} 
+0

沒有具體的點按顏色排序..但如果點是相同的,那麼它應該作爲一組... –

+0

沒有具體的點按顏色排序..但如果點是相同的,那麼它應該採取作爲一個團體..我的意思是米不放點的條件。點可以是任何東西..無論如何,但每3行顏色應該改變,如果在一行上有相同的點,它應該組合。 –

+0

現在檢查它是否解決您的問題。 – mbouzahir

相關問題