编写SSH选课系统记录——如何制作一张课程表

本文介绍了如何使用SSH框架构建课程表系统,重点在于如何通过HTML表格展示课程信息,并实现了根据数据库数据动态合并单元格的功能。通过对星期序号和节序号的映射,创建7x12的表格布局,并通过计算ID和利用rowspan属性,成功地将多节课程在表格中正确合并展示。
摘要由CSDN通过智能技术生成

我参考的原型是自己学校的课程表,结构大致如下:
在这里插入图片描述

从数据库获取到的字段为星期序号(1-7)和节序号(1-12),也代表了处于表格的列序号和行序号。

一开始我也在思索应该如何将课程条目转化为这样一个二维表格。
显然html的布局不允许定义二维矩阵,不然我们直接根据列和行插入就好了。

html的表格由 < table> 标签来定义。每个表格均有若干行(由 < tr> 标签定义),每行被分割为若干单元格(由 < td> 标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。

这里我想出了一种方法,反正能实现就好了。
先初始化表格使其全部填满,单元格是一节课,所以表格显示课程的部分被划分为7*12的表,然后根据其所在的行列数,赋予每个单元格一个id,id计算方法为:(列数-1)*12+行数,也就是按一列一列来计数的意思。

同样的我们可以根据课程属性(Cday和Cindex)来计算它对应的id,由于课程节数基本>1,所以重要的事情就是如何合并单元格,呈现出上图的效果?

由数据库字段格式可知,Cindex是用“,”分割的字符串,我们将其分割为字符串数组arr,取数组的第一个值,和Cday联合计算出作为课程单元格th的id属性,然后再根据arr的长度len,来设置该单元格th的rowspan(所占的行数),再将其id序号之后的rowspan-1个单位格remove掉(id+1至id+rowspan-1)。这样就大功告成了。

	<table class="table table-hover" id="courseTable">
			<caption>本学期课表</caption>
			<tr>
				<th>星期</th>
				<th>星期一</th>
				<th>星期二</th>
				<th>星期三</th>
				
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值