假设我有一个数据库表,其中包含 statuses
的列表.
在我的应用程序表单中,我有一个 <select>
包含所有这些的选项 statuses
用户可以选择。
现在,假设还有另一个表名为 people
其中包含 status
的列它代表 status
之前从 statuses
列表中选择的.
假设我已经删除了 status
来 self 的statuses
表,但仍有 people
的数据库行删除后status
.
现在在我的表单中,我无法再预先选择 <select>
该状态的选项,因为它不再存在于我的 statuses
中表。
那么我该如何处理这个问题,以便它仍然在选择中预先选择已删除的状态?我唯一的选择是拥有 <input type="text">
然后是某种类型的自动补全,比如 twitter typeahead?如果是这样,我将如何验证这一点?我可以检查一下 status
是否他们输入的是数据库表中已经存在的内容 statuses
?
任何见解都会很棒。
最佳答案
解决方案
由于您使用的是 PHP,因此您可以根据人员动态地将适当的状态值附加到列表末尾。
建议
首先,您应该使用外键将状态表链接到人员表,而不仅仅是将状态字符串存储在人员表中。创建这种关系将保持表的引用完整性,并防止您从一开始就删除当前状态。
切勿从表格中删除状态。如果您需要从事件状态列表中删除某个状态,则应在状态表中添加一个名为“IsActive”(或类似名称)的位字段。那么你可以查询SELECT * FROM status where IsActive=1
获取新记录,同时在需要时仍保留所有旧值。
关于php - <select> 的值不在 <options> 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38103903/