4

我创建了一个表单,允许用户根据需要动态添加任意数量的字段。其中每一个都是分配给设备的库存项目。我有 3 个表,即设备、库存项目,以及第三个将设备与库存项目相关联的表。

当用户保存表单时,他们可能已经删除了现有条目、添加了新条目或保留了一些未更改的条目。我能想到的最好的处理方法是清空所有将设备与项目相关联的表行,并根据表单的输入重写它们。

会有更有效的方法来做到这一点吗?我无法想象转储所有行然后重写它们是最可行的选择。

4

2 回答 2

2

我这样做的方法是将行的 ID 存储在隐藏字段中。
在您的情况下,您可以将第三个表的行的 ID 存储在隐藏字段中。在回发时,删除所有不存在 ID 的行(由用户删除),并使用 ID 更新存在的行。

于 2013-09-09T13:28:40.637 回答
0

转储数据更干净、更快捷。然后在他们提交表单时添加新数据。如果您担心按照@djot 的建议在删除和添加之间发生某些事情,请使用事务。

http://dev.mysql.com/doc/refman/5.0/en/commit.html

我已经这样做了很多次,没有任何问题。它消除了根据数据库检查每个条目的所有逻辑。如果没有理由检查,那么只需删除,这样更有效率。

于 2013-09-09T13:21:49.920 回答