社区
Web 开发
帖子详情
如何显示班级学生各门课程的成绩及总分?
xuexixuexi2008
2011-06-18 09:57:08
在成绩表(mark)中有三列studentname,coursename,score,可是在网页中想这样显示:
学生名 课程名1 课程名2 课程名3 .......课程名n 总分
这里的课程名1.....课程名n 是从数据库查找出来的,
结合jstl 在页面该如何显示该班级每个学生各门课的分数及总分
这个问题我想了好几天,一直无法解决,郁闷.谁能帮帮我啊?
...全文
448
14
打赏
收藏
如何显示班级学生各门课程的成绩及总分?
在成绩表(mark)中有三列studentname,coursename,score,可是在网页中想这样显示: 学生名 课程名1 课程名2 课程名3 .......课程名n 总分 这里的课程名1.....课程名n 是从数据库查找出来的, 结合jstl 在页面该如何显示该班级每个学生各门课的分数及总分 这个问题我想了好几天,一直无法解决,郁闷.谁能帮帮我啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xuexixuexi2008
2011-06-20
打赏
举报
回复
明白了,非常感谢!
zfz1214
2011-06-20
打赏
举报
回复
自定义一个DTO,然后在这DTO中设置 学生名 课程名1 课程名2 课程名3 .......课程名n 总分 属性,然后通过程序重新查到数据后重新组装即可(总分可以在程序中直接给它算出来)
wfqqwer5213
2011-06-20
打赏
举报
回复
充分利用模型把,你的student和mark应该是1对多的关系,
public class student{
....
List<mark> marks;
}
HQL
from student查询出所有student的数据,hibernate同时加载对应的成绩。
在jsp里面做两个循环来显示
xuexixuexi2008
2011-06-20
打赏
举报
回复
课程名称不是固定的,我就是不会如何循环啊,似乎是个列转行的问题,但是关键是我用的是hql语句访问my sql,并且通过struts标签或jstl显示出来。
xuexixuexi2008
2011-06-20
打赏
举报
回复
是的阿,结果绩是按学生名称排序的.
还是不会哎,能理解大概意思,但实现起来不太容易,哪位好人能给点代码的?我是刚起步,身边也没有懂这个的人
我是用Struts+Hibernate分层做的,已经用HQL语句将结果查询了出来,不是用SQL语句查询的呀
demohunter
2011-06-20
打赏
举报
回复
你的结果集是按学生名称排序的吧,你可以用遍历的索引做判定啊
demohunter
2011-06-20
打赏
举报
回复
可以在页面遍历的时候做判断啊 如果学生名称一样就不要另起一行,再原来的基础上追加名称和分数 总分可以在sql语句中给出。
xuexixuexi2008
2011-06-20
打赏
举报
回复
zfz1214
(稻草人)
等 级:
#8楼 得分:0回复于:2011-06-20 09:12:36
自定义一个DTO,然后在这DTO中设置 学生名 课程名1 课程名2 课程名3 .......课程名n 总分 属性,然后通过程序重新查到数据后重新组装即可(总分可以在程序中直接给它算出来)
你的方法我认为挺好,可是在具体定义的时候就不知道如何定义,特别是对课程名的定义中,难道也需要for语句吗?上面有我的代码,能具体点吗?
jisg_57
2011-06-19
打赏
举报
回复
你这个课程名称的个数是固定的吗?
试试这样:
select studentname,
decode(coursename,'数学',score,0) 数学成绩,
decode(coursename,'英语',score,0) 英语成绩,
decode(coursename,'物理',score,0) 物理成绩
sum(score) 总分
from mark
xjmlj2010
2011-06-19
打赏
举报
回复
这个只是布局问题,只要调一下顺序就行了吧
xuexixuexi2008
2011-06-19
打赏
举报
回复
我是用hql查询出来,结果是
张华 语文 70
张华 数学 67
张华 物理 86
王芳 语文 88
王芳 数学 79
王芳 物理 98
.......
.......
我要显示的是
姓名 语文 数学 物理 总分
张华 70 67 86 ..
王芳 88 79 98 ..
......
......
在Action中的代码如下,
public ActionForward analyseTeam(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
String teamId = request.getParameter("teamId");
Team team = teamDao.findTeamById(teamId);
List<Course> courses = courseScheduleDao.findCourseByTeam(team);
request.setAttribute("courses", courses);
Set<Student> students = team.getStudents();
List marks = new ArrayList();
for(Iterator iter=students.iterator(); iter.hasNext();) {
Student student = (Student)iter.next();
List marksNew = markDao.findMarkByStudent(student);
Float[] cj=new Float[marksNew.size()];
for(i=0;i<cj.length;i++) {
cj=(Float)marksNew.getScore();
}
marks.addAll(cj);
}
request.setAttribute("cj", cj);
request.setAttribute("marks1", marks);
return mapping.findForward("analyse");
}
其中marks1就是上面查询出来的结果
analyse.jsp中的显示代码如下:
<logic:present name="marks1" scope="request">
<TABLE class=small cellSpacing="1" cellPadding="2" width="80%" align="center" bgColor="#000000" border="0">
<TBODY>
<TR>
<TD class="TableSeparator" width="10%" align="center"><strong>学号</strong></TD>
<TD class="TableSeparator" width="10%" align="center"><strong>姓名</strong></TD>
<c:forEach items="${courses}" var="course" >
<TD class="TableSeparator" width="10%" align="center"><strong>${course.name}</strong></TD>
</c:forEach>
<TD class="TableSeparator" width="5%" align="center"><strong>总分</strong></TD>
</TR>
<c:forEach items="${marks1}" var="item">
<TR>
<TD class=TableData width="10%" align="center">${ item.student.code }</TD>
<TD class=TableData width="10%" align="center">${ item.student.name }</TD>
<c:forEach items="${marksNew}" var="cj" >
<TD class=TableData width="10%" align="center">${cj.score}</strong></TD>
</c:forEach>
<TD class=TableData width="10%" align="center">${cj.score} </TD>
</TR>
</c:forEach>
</TBODY>
</TABLE>
</logic:present>
显示结果是:
姓名 语文 数学 物理 总分
张华
张华
张华
王芳
王芳
王芳
.........
.........
该怎么改呢?
......
......
li72li72
2011-06-19
打赏
举报
回复
只是分数要循环啊,上面的作为表头不用循环。 不是很复杂,楼主在仔细想想。
xuexixuexi2008
2011-06-19
打赏
举报
回复
就是这里卡住调不好,该如何调顺序?
keketian521
2011-06-18
打赏
举报
回复
用sql语句查询出来!不就行了吗?
编写程序实现对M位
学生
的N门
课程
成绩
进行统计分析
编写程序实现对M位
学生
的N门
课程
成绩
进行统计分析,要求:(1)统计出每个
学生
的
总分
、平均分及单科最高分;(2)统计出每门课的平均分、最高分;(3)统计出所有
学生
的最高
总分
与最高平均分;(4)统计出所有
学生
总...
C/C++
学生
成绩
管理系统
学生
课程
成绩
信息包括:学号、
课程
编号、
课程
成绩
、开课学期等。 主要功能有:对
学生
信息、
课程
信息、
成绩
信息进行添加、修改、删除、读出、写入、查找、排序、计算
总分
、平均分、分类汇总等。 编写代码,运行程序后...
基于JavaWeb
学生
成绩
信息管理系统-毕业设计(附源码资料)
该
学生
成绩
信息管理系统涉及到
学生
、教师、系统管理员、
班级
、
学生
成绩
、
课程
。设置一个系统管理员对系统进行管理。所有用户需输入账号、密码登录进入系统;管理员进入系统后可对
学生
、老师、
班级
、
课程
进行增删改查...
学生
成绩
管理程序 C语言(详细注释)
学生
成绩
管理系统: 输入、修改、删除和
显示
n个
学生
的m门考试科目的
成绩
,...输入
学生
的学号,
显示
该
学生
的姓名、
各门
功课的
成绩
; 将输入的
学生
成绩
数据保存到文件中; 从文件中读出
学生
成绩
数据,查询
学生
成绩
。 。
学生
管理
课程
设计源程序
1、输入一个
班级
的
学生
基本信息(包括学号,姓名,性别,5门
课程
成绩
)。 2、按姓名或学号查找、修改、删除和保存各个
学生
的信息。 3、计算每个
学生
的
各门
功课
总分
和平均分,按学号或
总分
排序输出每个
学生
的...
Web 开发
81,090
社区成员
341,731
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章