JSP页面怎么画出来这样的表格?
签到表,表的头部是日期(从一个表中取得),表左边是人名(另一个表取得)。后台怎么构建数据呢?前台怎么画出来,一个日期对应多个人,一个人也对应多个日期。最重要的是表里面的值...
签到表,表的头部是日期(从一个表中取得),表左边是人名(另一个表取得)。后台怎么构建数据呢?前台怎么画出来,一个日期对应多个人,一个人也对应多个日期。
最重要的是表里面的值怎么设置对应的上,结果来源于人这个表,日期和人名都是动态的,不是固定那么多,给个思路 展开
最重要的是表里面的值怎么设置对应的上,结果来源于人这个表,日期和人名都是动态的,不是固定那么多,给个思路 展开
2个回答
展开全部
把日 期先查出来 dateList (按日期升序)
把姓名查出来 nameList
跟椐姓名和日期把人到没到查出来。 comeList (按日期升序)
表上第一个格自己写就好了,第一排第二个格和后面的循环取dateList(循环<td>)表头做出来了
然后再把comeList循环取出(循环<tr>)大盖就是这样。
追问
这三个list能循环画出来表?帮忙写一下jsp可以吗?不知道三个list怎么组合到一起啊
追答
我给你写个框:
日期/人名
date
//把有多少天都循环出来
date.name
date.come
.
.
.
展开全部
大致应该象下面这个样子:
思路为:从另一个页面跳转到下面这页(传入日期参数)-->连接数据库 --> 查询数据(SQL语句很重要)->动态填充表格。 下面代码不完全正确,只是个思路
<%@page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%>
<%@page import="java.util.*"%>
<%@page import="java.sql.*"%>
<% request.setCharacterEncoding("GBK");%>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=GBK"></head>
<body>
<% Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载数据库引擎
String connectDB="jdbc:sqlserver://localhost:1433;DatabaseName=mySQLdb01";//数据源
String user="sa"; String password="sa4sqlserver";
Connection con=DriverManager.getConnection(connectDB,user,password);//连接数据库对象
Statement stmt=con.createStatement();//创建SQL命令对象
ResultSet rs=stmt.executeQuery("SELECT * FROM Person WHERE [datetime] between '2013-08-09 ' and '2008-08-14' GROUP BY [name]");
//返回SQL语句查询结果集: 这里的两个日期应该是你从别的页面动态输入的,作为参数传到这个页面
out.println("<table border=2 bordercolor=#000066 >");
out.println("<tr><td>人名/日期</td>");
for(int i=0; i< N; i++) //这里的N应该是你根据两个日期计算出来的天数
{
out.println("<td>"+ 这里动态生成日期+"</td>");//动态生成列头
}
out.println("</tr>");//
while(rs.next())
{
out.println("<TR>");
for(int i=0; i< N; i++)
{
out.print("<TD >"+rs.getString(i)+"</TD>"); //动态填充数据
}
out.println("</TR>") ;
}
out.println("</table>") ;
stmt.close();//关闭命令对象连接
con.close();//关闭数据库连接
%>
</body>
</html>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询