我创建了一个表单,允许用户根据需要动态添加任意数量的字段。其中每个都是分配给设备的库存项目。我有3个表,设备,库存物品,第三个表将设备与库存物品相关联。
当用户保存表单时,他们可能已删除现有条目,添加新条目或保留一些条目。我能想到的最好的方法是清空将该设备与项关联的所有Table行,并根据表单的输入重写它们。
有没有更有效的方法呢?我无法想象倾倒所有行然后重写它们是最可行的选择。
答案 0 :(得分:2)
我这样做的方法是将行的ID存储在隐藏字段中 在您的情况下,您可以将第三个表的行的ID存储在隐藏字段中。在回发后,删除ID不存在的所有行(由用户删除),并使用ID更新存在的行。
答案 1 :(得分:0)
倾倒数据更清洁,更快捷。然后在提交表单时添加新数据。如果您担心删除和添加为@djot建议之间发生的事情,请使用事务。
http://dev.mysql.com/doc/refman/5.0/en/commit.html
我已多次这样做,没有任何问题。它需要检查每个条目对数据库的所有逻辑。如果没有理由检查,那么只需删除,效率更高。