mysql - 如何更新数据库中的无限表单字段表单?

标签 mysql database forms

我的表单结构是这样的,其中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/

相关文章:

mysql - 使用 JOIN 在多个表上自由搜索

php - PHP中变量范围的问题

php - 我应该用什么方式创建我的下载计数器数据库? MySQL PHP

javascript - 获取span的内容

javascript - 在表单中重置 emberjs 模型

javascript - 从表单请求中删除参数

php - PHP/Codeigniter/jQuery/MySQL 的最佳数据访问方法

python - 如何迭代 ManyToManyField?

mysql - 授予 MySQL 访问权限的命令

mysql - 仅检索关节具有依赖性的行