使用jsp更改表格单元格的颜色

时间:2015-02-26 06:12:45

标签: javascript html ajax jsp

我有一个jsp文件,它在jdbc的帮助下打印出一个mysql表。表的列是id,name,division和age。我想用年龄数据改变表格单元格的颜色,改变红色和绿色取决于一些特定的价值观。

<body>
<%!Connection con; %>
<%!Statement s; %>
<% ResultSet rs=null;
String name=request.getParameter("t1");
try{
Class.forName("com.mysql.jdbc.Driver");
 con=DriverManager.getConnection("jdbc:mysql://localhost:3307/****","root","****");
s=con.createStatement();
System.out.println(name);
rs=s.executeQuery("select * from employee");
}catch(Exception e){ e.printStackTrace(); }
%>
<div id="dt_table">
<table border=1>
<tr>
<th>Empolyee ID</th>
<th>Empolyee Name</th>
<th>Employee Division</th>
<th>age</th>
</tr>
<tr>
<% try 
{
while(rs.next())
{ %>
<tr>
<td><%=rs.getInt(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td> 
<td><%=rs.getInt(4)%></td>
</tr>
<% } 
}catch(Exception e){ e.printStackTrace(); }%>

</table></div>
</body>

这个问题已经被提出但是没有得到回答。这是链接。     https://stackoverflow.com/questions/23131874/change-color-of-table-based-on-values-of-mysql-database-using-jsp

我甚至在php中发现了这样的东西,但我不知道php,     Change color of table based on values from SQL Query database using PHP

所以jsp或javascript中的任何帮助都可能会有所帮助。谢谢。

2 个答案:

答案 0 :(得分:1)

您可以根据表格的标题

执行此操作
function colorIt() {
  var val = 0; //value to be compared with
  var val2 = 10; //value to be compared with
  var ColIndexToCheck = 0;
  var header = document.getElementById("dt_table").getElementsByTagName("th");
  for (var j = 0; j < header.length; j++) {
    if (header[j].innerHTML == "Age") {
       ColIndexToCheck = j;
     }
}

var trs = document.getElementById("dt_table").getElementsByTagName("tr");
for (var i = 0; i < trs.length; i++) {
    if (trs[i].cells[ColIndexToCheck].innerHTML > val) {
        trs[i].cells[ColIndexToCheck].style.backgroundColor = "red";
    }
    if (trs[i].cells[ColIndexToCheck].innerHTML > val2) {
        trs[i].cells[ColIndexToCheck].style.backgroundColor = "green";
    }
}

}

答案 1 :(得分:0)

试试这个,假设第四列是表格中的年龄:

while(rs.next()) {
{ %>
<tr>
<td><%=rs.getInt(1)%></td>
<td><%=rs.getInt(2)%></td>
<td><%=rs.getInt(3)%></td>
<td <%=(rs.getInt(1) > 10 : "style='background-color:red;'" : "")%> ><%=rs.getInt(1)%></td>
</tr>
<% } %>

或者如果你愿意,你只需使用If-else。 希望,它有所帮助!!