2013-11-04 411 views
0

我在PHP上有一個表格,如下圖所示,當第一列更改值時,線條會更改顏色。 例如:在示例表中,第一和第二線爲紅色,第三行是藍色,紅四軍再等等當更改行值時更改表格背景顏色PHP

<table> 
<tr> 
    <td>1</td> 
    <td>Test 1</td> 
    <td>Today</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>Test 2</td> 
    <td>Tomorrow</td> 
</tr> 
<tr> 
    <td>2</td> 
    <td>Test 3</td> 
    <td>Yesterday</td> 
</tr> 
<tr> 
    <td>3</td> 
    <td>Test 1</td> 
    <td>Next Saturday</td> 
</tr> 
</table> 

我可以在CSS和jQuery或其他語言做的,但我需要幫助。

謝謝

+0

怎樣的價值得到改變?您的示例代碼不包含PHP或JavaScript。 – Blazemonger

+0

請爲我們提供一些PHP或Javascript代碼,以便更改值。在任何情況下,jQuery或javascript都是解決方案,除非每次值更改時都要重新加載頁面。 – briosheje

回答

0

試試這個:

$bgcolor  = ""; 
$new_bgcolor = "#F1F1F1"; 
$bgcolor_trans = ""; 

if ($current_row > $last_row){ 
    $bgcolor_trans = $bgcolor; 
    $bgcolor  = $new_bgcolor; 
    $new_bgcolor = $bgcolor_trans;  
} 
+0

這很酷。有用 – user2953395

0

您可以爲TR設置兩個類,例如, rowOdd & rowEven

$days = array(1=>'Day1', 2=>'Day2', 3=>'Day3'); 
$trClass='Odd'; 
echo '<table>'; 
foreach ($days as $key=>$value) { 
    echo '<tr class="row'.$trClass.'"><td>'.$key.'</td><td>'.$value.'</td></tr>'; 
    if ($trClass=='Odd') { $trClass='Even'; } else { $trClass='Odd'; } 
} 
echo '</table>'; 

CSS

.rowOdd { background-color: #F00; } 
.rowEven { background-color: #0F0; } 
+0

線顏色也需要根據第一個單元格值更改而改變。您的示例將使用顏色(條紋)打印每行。 – user2953395

+0

你有多少可能的價值?如果沒有太多的可能,而不是rowEven&rowOdd,你可以有class =「row <?= $ cellValue?>」並創建必要的類 – Stoner

0

記住,你可以隨時搜索答案在堆棧溢出你的問題。機率是你是不是第一個有這樣的問題。

請參考以下內容:

Adding PHP alternate table row colours to existing HTML table

+0

你知道答案嗎?謝謝.. – user2953395

+0

作爲@briosheje說你需要更詳細一點,你的代碼纔能有效地使用你的答案。是通過表單更新的第一個錶行嗎?這些表如何相互影響?這是非常重要的信息。請發佈更多的代碼和你想看到的例子。 – TechLifeForgotten

+0

請列出第一個單元格值。即選項1 =紅色選項2 =綠色等 – TechLifeForgotten

0

您可以使用一個標誌veriable的計數。

例如:

$count = 0; 
while($rows = mysql_fetch_array($query)){ 
    $count++; 
    if(($count%2) == 0){ 
     echo '<tr style="background:#FFF">'; 
     echo '<td>'; 
     echo '</td>'; 
     echo '</tr>'; 
    } 
    else{ 
     echo '<tr style="background:#000">'; 
     echo '<td>'; 
     echo '</td>'; 
     echo '</tr>'; 
    } 
}