将动态表单数据插入数据库。PHP
我有个问题,我正在创建一个非常复杂的表单。表单的某些部分是动态创建的。假设您从下拉列表中选择了某个选项,则会向表单中注入额外的字段 存储这些数据的最佳方法是什么?我想尝试不使用多张桌子就离开。因为我使整个应用程序变得更加复杂将动态表单数据插入数据库。PHP,php,mysql,codeigniter,Php,Mysql,Codeigniter,我有个问题,我正在创建一个非常复杂的表单。表单的某些部分是动态创建的。假设您从下拉列表中选择了某个选项,则会向表单中注入额外的字段 存储这些数据的最佳方法是什么?我想尝试不使用多张桌子就离开。因为我使整个应用程序变得更加复杂 我想在我的模型中将所有可能的值初始化为“0”。然后用post数据覆盖它们,并将整个数组存储在表中。有人看到这种方法有什么问题吗?很大程度上取决于您以后要如何处理表单数据,以及多久处理一次 序列化单字段 在最简单的用例中,您可以对所有数据进行base64_编码(序列化($da
我想在我的模型中将所有可能的值初始化为“0”。然后用post数据覆盖它们,并将整个数组存储在表中。有人看到这种方法有什么问题吗?很大程度上取决于您以后要如何处理表单数据,以及多久处理一次 序列化单字段 在最简单的用例中,您可以对所有数据进行base64_编码(序列化($data))并将其放入数据库中的一列中
- 简单的
- 快速插入
- 易于添加/更改输入字段
- 搜索值困难且缓慢(尤其是在规模上)
- 如果需要对数据进行系统性更改,则很难通过编程方式进行更新
- 如果您总是从数据库中提取所有数据,并且从不通过序列化字符串中的数据缩小sql查询范围,那么这将是一个完美的选择
- 2张桌子,但仍然很简单
- 易于添加/更改输入字段
- 通过sql进行更好的搜索
- 更容易系统地更新
- 如果您不总是获取所有数据,或者必须按表单数据缩小搜索范围,那么这将是一个完美的选择
和一个不同的方向——如果你发现自己处理了很多这种类型的数据,你也可以考虑查看基于文档的数据库,比如MangGDB或CoucDB。
< P>在模型中使用多个表的必要性不取决于你必须存储多少数据(多少个字段)——这取决于模型的逻辑。所以,如果在你的模型中使用关系(f.e.1:n,n:m)有一个合理的理由,就这么做吧 如果您在创建模型时不遵循基本规则,并尝试使用f.e.将所有数据存储在一个表中,尽管它应该分为多个表,您很快就会后悔。将来对代码的任何更改都将花费您更多的工作,并且在某些情况下,您将无法理解自己的代码,必须重新编写代码,这次是按照规则进行的;) 如果开发正确的模型需要花费大量的工作(最近我花了两个多星期的时间开发了我的模型),也不用担心,这真的很有意义,因为之后你可以使用一个开发良好、计划周详的模型更快、更有效地工作 另一方面,有些情况下,在一个表中存储100多个字段是有意义的,这取决于逻辑。因此,如果您提供一些示例,也许可以说您是否应该使用一个或多个表