我的表单结构是这样的,其中fields[]
输入可以在提交表单时添加任意多次。这里我将网站链接存储在fields[]<中
.
<input id="name" name="name" type="text" />
<input id="field_1" name="fields[]" type="text" />
<input id="field_2" name="fields[]" type="text" />
<input id="field_3" name="fields[]" type="text" />
我已成功使用下面的表结构将此数据存储在 MySQL 数据库中,以允许用户与无限数量的网站关联:
Users User_website_link Websites
------ ----------------- ---------
Pk:UserID Pk:ID Pk:WebsiteId
name UserID Url
WebsiteID
假设用户在表单 {"Jon", "example.com", "example1.com", "example2.com"} 中填写以下数据
因此提交表单后表格将如下所示:
用户表:
UserID Username
1 Jon
网站表:
WebsiteID Url
1 example.com
2 example1.com
3 example3.com
User_website_link 表:
ID UserID WebsiteId
1 1 1
2 1 2
3 1 3
我应该如何允许用户在提交 URL 后编辑其 URL?
所以我的问题是:一个名叫 John 的用户想要删除 example3.com
并将 example.com
编辑为 demo.com
,所以我想知道如何从数据库中删除一些网站并编辑一些网站。
最佳答案
您不需要 user_website_link 表 - 您只需将 UserID 放入网站表的另一列即可。
但是回答这个问题:
您无需编辑条目,只需添加另一列(类似于 bool 值 is_deleted
),并且仅显示或使用 is_deleted
为 false 的 URL。因此,您只需让用户添加一个额外的 URL 进行编辑,并在删除它们时设置 is_deleted
即可。当然,您可以在删除时删除该行,或者稍后清除已删除的行,但我认为这种方法稍微容易一些。
关于mysql - 如何更新数据库中的无限表单字段表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12017744/