我刚开始使用 JSON.. 我知道这可能已经在这里被问过,但是,我只是想咨询一下我是否在做正确的事情。
我需要为不同的页面创建一个动态表单。我需要能够为每个页面添加动态表单。在管理面板中,我可以在页面模板中添加/编辑/删除字段——更改字段的顺序、名称、类型、值等。
所以,我所做的,我将动态表单字段存储在 json 中,对于每个页面中输入的数据,我也将其存储在 json 中。下面是存储在我的数据库中的示例 JSON 数据:
具有 2 个字段的动态表单的 JSON 结构:
{
"0":{
"id":"511ddf15cb8ae_1", // generated using uniqid() and counter, to generate a unique id for each field
"name":"Page Name #1",
"type":"textfield",
"validation":"email",
"require":"on",
"value":"" //default value
},
"1":{
"id":"511ddf15cb8ae_2",
"name":"Field Name #2",
"type":"checkbox",
"validation":"none",
"require":"on",
"value":["item 1","item 2","item 3"] //selection
}
}
存储输入值的 JSON:
{
"511ddf15cb8ae_1": //the field id, used as key to be able to directly access the data
"test new data",
"511ddf15cb8ae_2":
["item 1","item 2"]
}
我的主要问题是,如果我在数据库中使用 json 存储输入的值可以吗,或者我应该单独存储输入的值 - 数据库表行。
有什么想法可以更好地做到这一点,或者这已经很好了吗?谢谢。
干杯
最佳答案
取决于您接下来的计划:)。
如果您只打算稍后重建表单并填充输入的值(我相信您也存储了动态表单),那么您所采取的方法非常好,从某种意义上说,您不需要使用复杂查询从输入的值重新构造 json。
但是,如果您稍后对相应字段中输入的值进行一些复杂的发现/查询,例如“特定用户在特定字段中输入特定值多少次?”,这将是乏味的。有点儿。如果您打算这样做,那么我建议采用关系方法并将它们存储在表中;动态表单和输入的值。
关于jquery - 存储动态表单和使用 json 输入的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14939973/