问题描述
要在前台页面做一个表单,用来录入员工的姓名,工种,上班与否。如下图:然后将录入的信息传到后台并保存到数据库中,请问大神有什么好的方法么。
解决方案
解决方案二:
你这个类似部门员工考勤表,但是你这个表格不是二维表,而是多维表,具有两个维度的数据。你可以选择两种方法第一个方法,用递归的逻辑原理去实现这个多维的列表展示,你要把这个页面做成模板页,先查询工种,然后在模板中列出工种,解析一次。然后列出每个员工,解析一次。最后查询每一个员工的一个月以来的考勤情况,再进行一次解析。注意,不要在线处理这个页面,因为这个sql的查询次数过多,会导致页面长时间无响应而出错。最好用程序每次生成一个静态页。这个方法比较笨,但是算是可以最快速的解决问题。还有一个方法就是用数据仓库去实现,通过建立多维数据报表模型来实现这个多维报表。但是设置起来比较麻烦,你还要学习一段时间才能掌握这个技术。建议采用第一个方法去实现,毕竟你只有这一个报表,而不是用到多个报表,使用数据仓库对服务器资源浪费比较严重。第一个方法你可以改进,你可以一次性将所有该表格用到的数据表都加载到缓存中,然后再进行循环查询时,耗时会非常低,几乎没有延迟感觉。如果有任何疑问可以私信联系我。
解决方案三:
上面第一句话我要更正,是三个维度,而不是两个维度。我的账号不让我编辑,版主在吗?给我解决一下好吗?
解决方案四:
引用1楼chengbin0602的回复:
你这个类似部门员工考勤表,但是你这个表格不是二维表,而是多维表,具有两个维度的数据。你可以选择两种方法第一个方法,用递归的逻辑原理去实现这个多维的列表展示,你要把这个页面做成模板页,先查询工种,然后在模板中列出工种,解析一次。然后列出每个员工,解析一次。最后查询每一个员工的一个月以来的考勤情况,再进行一次解析。注意,不要在线处理这个页面,因为这个sql的查询次数过多,会导致页面长时间无响应而出错。最好用程序每次生成一个静态页。这个方法比较笨,但是算是可以最快速的解决问题。还有一个方法就是用数据仓库去实现,通过建立多维数据报表模型来实现这个多维报表。但是设置起来比较麻烦,你还要学习一段时间才能掌握这个技术。建议采用第一个方法去实现,毕竟你只有这一个报表,而不是用到多个报表,使用数据仓库对服务器资源浪费比较严重。第一个方法你可以改进,你可以一次性将所有该表格用到的数据表都加载到缓存中,然后再进行循环查询时,耗时会非常低,几乎没有延迟感觉。如果有任何疑问可以私信联系我。
谢谢您的回答,我看了第一个方法说的是从数据库中取出数据并在前台展示吧。我要做的是用户可以在前台编辑这样一个表单,可以增加工种,增加员工姓名,编辑员工上班情况,所有的数据都是用户输入的,然后确定输入好后提交该表单到数据库中保存。
解决方案五:
你纠结的不过就是如何合并单元格而已前台展示的表格和后台记录的数据没有必然联系,不一定是一一对应的,关键就是自己定义好数据结构和展示样式而已
解决方案六:
你首先要知道如何去展示,才能形成这样一个表单,然后才能有目标去编辑,否则你都没有展示出来,没有编辑目标,你还能做什么?编辑操作要在表单列出后,你把每一个单元格的内容都加上超级链接,根据ID和日期条件就可以进行编辑了。
解决方案七:
当然如果你的表格是写死的,那么就手动绘制表格,用table或者div随便了,把你这个样式展示出来,然后把数据库和这个表格对应写死,但是同样你也需要用递归方法去逐级查询数据并在页面中展示,你才能得到每一个单元格的id,必须先获取到对应的查询条件你才能编辑指定的单元格。这个程序的难点在于如果想在线即时编辑,即时展示,最好使用两级的缓存方案。否则页面响应时间过长会导致服务器超时。