0

我正在建立一个网站,基本上会有多个字段的表单,以使用户输入真正具体,而不是全部放在一个段落中。

所以我在想也许我会把表单不同字段的数据放在表的不同列中。

那样行吗?这似乎合乎逻辑,但我想包装表单数据(许多不同的字段输入需要保持分离而不是混合),然后将其放在表中的单列中,因此,表将仅包含捆绑的来自表单的信息,以及与该特定表单数据包关联的唯一帖子 ID。

当我必须在页面中显示来自表单不同字段的信息时,我会从数据库中获取表单数据包,并以某种方式将其拆分回其原始成分,并将它们显示在各自的标题下是在填写表格时。

我怎么做 ?

我正在考虑将数据传递到一个特殊的控制器类中,它将从表单字段收集的数据捆绑到一个 XML 文件中。但是我不知道,也许捆绑和解绑 XML 文件会有太多不必要的开销?

我正在使用 CodeIgniter 和 MySQL。

编辑 - 示例

我有一个表格Interview 列将是ResumeID Name College Score Describe experience Familiarity with XYZ Describe yourselfWhy you want this job

现在除了前 3 列之外,其余的可能有大约几到 100 个句子,即 20 到 500 甚至 1000 个单词。

但这是一个例子,只有 6 个字段。我将有 18-20 个表单字段,这些字段将在表中形成列,我在想它是否足够有效地将所有长文本存储在数据库中,或者只是将其包装在某个对象中并将对象放入连同 ID 为 -

ResumeID RestOfTheInfo

因此只有 2 列

4

1 回答 1

0

将表单中的每个字段存储在数据库表的单独列中,每个表单提交都是一行。

这就是它的工作方式,也是迄今为止最简单、最好和最灵活的解决方案。不要把简单的事情复杂化,除非你别无选择。打包和解包/解析字符串,将 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`) )
;

把事情简单化。

于 2013-06-14T17:19:35.387 回答