2013-02-13 86 views
0

我使用CodeIgniter PHP框架。如何獲取相同數據的相同背景顏色?

我的視圖代碼:

<?hp 
    $nomor_III=1; 

    foreach ($listPertanyaanBlokIII as $data){ 
     echo '<tr>'; 
     echo '<td>'.$nomor_III.'</td>';               
     echo '<td style="text-align:left;padding-left:5px;">'.$data['jenis_barang'].'</td>'; 
     echo '<td>'.$data['id_kualitas_barang'].'</td>'; 
     echo '<td style="text-align:left;padding-left:5px;">'.$data['kualitas_barang'].'</td>'; 
     echo '<td>'.$data['satuan'].'</td>';   
     echo '<td>'.form_input('res1_'.$data['id_kualitas_barang'].'').'</td>'; 
     echo '<td>'.form_input('res2_'.$data['id_kualitas_barang'].'').'</td>'; 
     echo '<td>'.form_input('res3_'.$data['id_kualitas_barang'].'').'</td>'; 
     echo '<td style="width:200px;"><textarea name="ket_'.$data['id_kualitas_barang'].'" rows="2" cols="30"></textarea></td>'; 
     echo '</tr>'; 

     $nomor_III=$nomor_III+1; 
    } 
?> 

而且,在瀏覽器中查看:

Num | Product 
---------------- 
1 | Plate 
2 | Plate 
3 | Glass 
4 | Glass 

我怎樣才能讓用相同的描述數據具有相同的背景顏色?例如,「玻璃」變成灰色,在「盤子」將是白等

+3

[off-topic] O_o「semen」?什麼是你的母語? ;-) – Jeroen 2013-02-13 13:06:36

+3

Crayola的「Semen White」新顏色。 – 2013-02-13 13:07:21

+0

對不起,在我的國家「精液」是「水泥」..對不起,我急着爲我的項目... :( – beben 2013-02-13 13:22:49

回答

0

您可以檢查子字符串匹配,並根據它

+0

感謝之前,但我想讓它像斑馬錶,灰白色灰白色, ,同一種顏色的產品..數據是動態..對不起,我可憐的英語,我匆忙..謝謝... – beben 2013-02-13 13:20:12

+0

好吧,那麼你可以這樣做,因爲我建議通過檢查你的字符串中的子字符串。如果存在,那麼你可以應用一個特定的類替代。 – Hardik 2013-02-13 13:23:52

1

只需添加色彩描述爲一類應用的背景顏色。雖然我不明白你的數組鍵,它應該是這樣的:

echo '<td class="'.$data['description'].'">'.$data['description'].'</td>'; 

將有一個對應的類爲每個descrption:

.paku { 
    background-color: #000000; 
} 

編輯:如果你想有一個斑馬錶,你可以用CSS3:

tr:nth-child(even) { 
    background-color: #DCDCDC; 
} 

tr:nth-child(odd) { 
    background-color: #FFFFFF; 
} 
+0

但如果描述包含'帕庫123','帕庫456'等? – Hardik 2013-02-13 13:10:58

+0

如果是這種情況,則需要對顏色名稱進行一些預處理,也許可以用破折號替換空格,然後使用全名「.paku-123 {color:#000FFF; }' – mcryan 2013-02-13 13:13:14

+0

感謝之前,但我想讓它像斑馬錶,灰色白色灰色白色,同一種顏色的產品..而數據是動態..對不起,我可憐的英語,我匆忙。 。謝謝... – beben 2013-02-13 13:19:34

0

你可以嘗試重組你的初始數據集$listPertanyaanBlokIII,使得它按產品分組:

Array 
(
[plate] => Array 
    (
     [0] => plate 123 
     [1] => plate 456 
    ) 

[glass] => Array 
    (
     [0] => glass 123 
     [1] => glass 456 
    ) 
) 

然後(簡化代碼):

$css_class = 'even'; 
foreach($listPertanyaanBlokIII as $group => $array){ 
     $css_class = $css_class == 'even' ? 'odd' : 'even'; 
     echo $group.'<br>'; 
      foreach($array as $val){ 
      echo ' ---- '.$val.' class='.$css_class.'<br>'; 
      } 
} 

輸出,這同樣是只是爲了證明自己的理念:

plate 
---- plate 123 class=odd 
---- plate 456 class=odd 
glass 
---- glass 123 class=even 
---- glass 456 class=even 
0

什麼你要找的是用於分組的tbody元素目的。你需要修改你的循環,讓你可以將同一類型的所有產品放在同一個tbody中。一旦你做完了,你可以在tbody上做斑馬條紋。

tbody:nth-child(odd) { 
    background: #CCC; 
} 

<table> 
    <tbody> 
     <tr> 
      <td>1</td> 
      <td>Plate</td> 
     </tr> 

     <tr> 
      <td>2</td> 
      <td>Plate</td> 
     </tr> 
    </tbody> 

    <tbody> 
     <tr> 
      <td>3</td> 
      <td>Glass</td> 
     </tr> 

     <tr> 
      <td>4</td> 
      <td>Glass</td> 
     </tr> 
    </tbody> 
</table> 

http://jsfiddle.net/V8xss/

我展示你怎麼可能去有關修改環路回答另一個問題:Displaying table data column-wise in a while loop(雖然你將需要從tr改變插入標籤tbody

相關問題