我想构建一个通用Web表单的后端,其中包含用户可以回答的问题。有多种类型的问题。
用户输入的输入应存储在MySQL数据库中。
我遇到的问题是表单应该是可编辑的。它不会经常编辑,但是当它发生变化时,现有的提交不应受到更改的影响。由于这个事实,我不认为通过XML文件进行配置就足够了。
我的方法如下:
如您所见,它使用四个表作为简单的Web表单。我不认为这是在这里使用的最佳方法,并希望您询问是否可以给我一些关于我应该应用哪些设计更改的提示。
(我考虑过的其他方法是在提交数据库中存储带有呈现提交的HTML字符串,并使用简单的配置文件来配置问题。旧的提交不会受配置更改的影响,因为它们不会已经存储在MySql中。这种方法的问题是,当设计发生变化并且提交应该在另一个设计中显示时。)
答案 0 :(得分:3)
首先,让我们同意否决将HTML存储在数据库中的想法,除了可能只有几个标签,如换行符,粗体,强调和下划线,仅用于问题的文本。如果重点关注调查的文本/语义,而不是 查看 详细信息,则定义调查并利用其输出将变得更加容易。
要支持View(“布局”)配置,CSS可能是故障单。这将键入问题的ID,该ID将用作视图决定存储问题的div(或其他html容器)的ID。一些类名也可以列在问题记录中,但在CSS中定义。
在建议的数据库模式上,重要的东西似乎就在那里。然而,我没有看到提交的回复存储在哪里;在提交+ submitiondetails表中?如果是这样,MULTIPLE响应类型存储在哪里,它们是否转换为文本,转换为给定的响应? (我不认为他们应该这样做,除非我们更喜欢在活动期间修改调查时捕获稍微不同的值。)
一些遗漏的属性和想法: