我正在建立一个网站,基本上会有多个字段的表单,让用户输入真正具体,而不是所有的东西都落在一个段落。
所以我想也许我会把表格中不同字段的数据放在表的不同列中。
可以吗?这似乎是合乎逻辑的,但我想包装表单数据(有许多不同的字段输入,需要保持分离,而不是混合),然后把它放在表中的单列中,因此,表将只包含来自表单的捆绑信息,以及与特定表单数据包相关联的唯一post ID。
当我必须在页面中显示来自表单不同字段的信息时,我会从数据库中获取表单数据包,并以某种方式将其拆分为其原始组件,并将它们显示在各自的标题下,就像填写表单时一样。
我该怎么做呢?
我正在考虑将数据传递到一个特殊的控制器类,该控制器类将从表单字段收集的数据绑定到XML文件。但是我不知道,也许绑定和解绑定XML文件会有太多不必要的开销?
我正在使用CodeIgniter和MySQL。
编辑-示例
我有一个表Interview
列为ResumeID
Name
College Score
Describe experience
Familiarity with XYZ
Describe yourself
和Why you want this job
现在,除了前3列,其余的可能有几个到100个句子,也就是说,20到500甚至1000个单词。
但这是一个例子,只有6个字段。我将有18-20表单字段,这将形成列在表中,我想如果它将是有效的存储在数据库中的所有长文本,或只是包装在一些对象,并把对象与ID作为-
ResumeID
RestOfTheInfo
因此只有2列
将表单中的每个字段存储在数据库表的单独列中,每个表单提交都是一行。
这就是它的工作方式,也是迄今为止最简单、最好和最灵活的解决方案。不要把简单的事情复杂化,除非你别无选择。打包和解包/解析字符串,在数据库中存储XML—所有这些都是可能的,但是对于像这样简单的事情来说太复杂了—除非有什么事情您没有告诉我们?
总之,如果你的表单是这样的:Name* [ ]
Phone* [ ]
那么你的表应该是这样的:
CREATE TABLE IF NOT EXISTS `form_submissions` (
`submission_id` INT NOT NULL ,
`name` TEXT NOT NULL ,
`phone` TEXT NOT NULL ,
PRIMARY KEY (`submission_id`) )
;