gpt4 book ai didi

php - 在 mysql 中输入未知数量的字段 - 最好的结构?

转载 作者:行者123 更新时间:2023-11-30 22:06:26 25 4
gpt4 key购买 nike

我需要存储从多个表单发送的数据 - 有趣的是,因为这些表单将由我计划授予用户访问权限的表单生成器创建,我不知道会有多少字段表单,或用户将提交的字段数。我想过一个类似于下面的表结构(表单本身保存为php用于include):

| FormId | FormType | InputID | InputType | LongText | Text | Date |

FormId 与存储表单文件位置等的另一个表相关,用于包含(例如下面),Input ID 与页面上的输入相关。

| FormId | FormType | PathToForm | DateCompleted |...etc

从 formId 1 输入“a”可能看起来像:

<input id="a" name="a" type="text" value="example"/>

而来自 formId 2 的输入“a”可能看起来像:

<textarea name="a" id="a"></textarea>

我可以这样写到表中:

| FormId | FormType | InputID | InputType | LongText |   Text  | Date |
--------------------------------------------------------------------------
| 1 | 1 | a | text | NULL | example | NULL |
| 2 | 2 | a | textarea | example | NULL | NULL |

每个表单上的“输入”数量可能是无限的——不同表单模板上的输入可能每次都是不同的“类型”。

我的问题(终于!)- 这是我能做到的最好方式吗?我知道每行存储一个表单的输出并不完全理想——但是没有数百个表,并且在不失去有用地提取数据的可能性的情况下,如果我将来需要(通过“FormType”)我'我不确定任何其他结构方式。以前真的没有遇到过这样的事情,如果听起来很傻,请见谅!

最佳答案

mysql 5.7 中有一些东西是为这种情况量身定做的。 JSON type .

您可以将表单转换为关联数组,然后将其保存在 JSON 字段中。

虽然有一些注意事项,但此字段虽然可搜索,但在搜索方面不如普通的 varchar 列高效。此外,如果您想在 join you are in deep trouble 中使用它.

关于php - 在 mysql 中输入未知数量的字段 - 最好的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41569614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com