2013-11-04 329 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>'; 
    } 
}