有一个<select>,其值不在

时间:2016-06-29 15:24:57

标签: php html mysql

假设我有一个包含状态列表的数据库表。 在我的应用表单中,我有一个&lt; select&gt;包含用户可以选择的所有状态的选项。 现在,假设有另一个名为people的表,其中包含一个状态列,表示先前从状态列表中选择的状态。 并且假设我已从状态表中删除了状态,但仍有数据库行用于具有已删除状态的人员。 现在,在我的表单中,我无法再预先选择&lt; select&gt;该状态的选项,因为我的状态表中不再存在该状态。 那么我该如何处理它以便它仍然在select中预先选择已删除的状态?我唯一的选择是&lt; input type =&#34; text&#34;&gt;然后某种类型的自动完成,如twitter typeahead?如果是这样,我将如何验证这一点?我会检查他们输入的状态是否已存在,以及数据库表状态? 任何见解都会很棒。

1 个答案:

答案 0 :(得分:2)

由于您使用的是PHP,因此您可以根据此人动态地将相应的状态值附加到列表的末尾。

SUGGESTIONS

首先,您应该使用外键将状态表链接到个人表,而不仅仅是将状态字符串存储在人员表中。创建此关系会保持表的引用完整性,并阻止您首先删除当前状态。

永远不要删除表格中的状态。如果需要从活动状态列表中删除状态,则应在状态表中添加一个名为“IsActive”(或类似名称)的位字段。然后,您可以在SELECT * FROM status where IsActive=1查询新记录,同时在需要时仍然拥有所有旧值。