【发布时间】:2011-09-02 03:28:56
【问题描述】:
所以在我正在构建的 Web 应用程序中,我遇到过几次这种情况。我觉得必须有更好的方法来处理这个问题,所以我将详细介绍我目前的技术,希望你们中一些更有经验的开发人员可以提出更好的选择。
本质上,问题围绕在使用关系数据库进行数据存储(尤其是我经常使用 MySQL)的应用中编辑具有多个关系的数据。
让我们想象一下这个数据库架构(尽管它可以是任何类似的设置):
用户有很多技能 技能属于用户
当我创建一个新用户时,我会填写他们的基本信息以及一些(或根本没有)技能。当我点击保存时,我的应用程序将获取此数据并将新用户与数据库中的零个、一个或多个技能条目一起保存。
现在,当我去编辑这个用户时,会显示一个表单,显示用户的基本信息,以及每个技能的多个字段。我可以选择删除技能、添加新技能或两者兼而有之。
目前我通过使用 Javascript 删除字段来处理这个问题,并且我也使用 Javascript 添加新的技能字段。我不想在单击“删除”时立即从数据库中删除一项技能,而只是删除该字段,然后在用户提交表单后删除该字段。
在我的服务器端代码中,通常我会通过删除该用户之前的所有技能条目来处理此问题,然后保存所有已发布的技能条目。另一种选择是只删除不在 POSTed in 技能条目 ID 中的技能条目,然后更新每个已发布的技能条目的记录。
这似乎是处理这个问题的好方法吗?有没有更好的方法来管理这个?我愿意接受任何建议,即使过程与我现在所做的有很大不同。
为了进一步参考,我在 PHP 和 MySQL 应用程序中执行此操作。
谢谢!
【问题讨论】:
标签: php mysql web-applications