我不知道如何给予这个标题,但我有以下数据库:
accidentDetain(id, location, weather_conditions desc (and few more columns));
weatherConditions(id, title)
acc_weat_cond(id, wc_id, ad_id)
wc_id = weatherConditions ID, ad_id = accidentDetain ID
现在的情况是用户可以存储多种天气条件,如(雨,湿,雪冰雾等)
我们假设用户从这6个选项中选择了3个,这些选项将存储在acc_weat_cond
表格中,其中包含意外明细ID和天气状况ID。
保存后,用户决定更改并取消选中其中一个选项,然后按下保存按钮。问题是,有3条记录已经存储到 acc_weat_cond
表中,我将如何更改并将其转换为两条记录。
我是否必须从数据库中删除第一条记录,然后再次存储新检查的选项?或者是否有更简单的方法来处理上述情况。
最后一个选项是我违反了数据库规范化的角色,并直接存储在accidentDetails表中,并用逗号分隔值。
随时询问是否需要更多信息......
答案 0 :(得分:0)
我会有一个<input type='hidden'name='checkedflds' value='1,2,3' />
字段,其中包含在用户更新之前检查过的值。然后在回发之后,您可以将新列表与此进行比较,并且很容易看到他做了哪些添加以及删除了哪些元素......
答案 1 :(得分:0)
我会调用所有选项并与选中的内容进行比较,并删除您需要的内容。如果将其存储在表单上,则可能存在过期数据。