我正在构建一个迄今为止非常棒的邮件系统。但是,我仍然坚持删除邮件"一部分。
在我的数据库中,我有2列(recdel和senddel),它们响应true或false。 每当用户按下"删除"它会根据发件人或配方将列更新为true,并将其从正确的人员收件箱中隐藏。 如果配方和发件人都已按下删除,我想将其从数据库中删除,如果双方都已将其删除,则无需将其删除。
当双方都按下删除时,问题就出现了,其中一方必须再次按删除才能从数据库中删除(删除隐藏部分以进行测试)。
问题似乎是if语句,它不会继续更新查询后的第三个if语句,直到两个列都为真,然后当第三次按下删除时,它会移动到第三个if语句。
我还尝试将第三个if语句放在2个第一个if语句中,但仍然遇到同样的问题。
有什么想法吗?
if(person == sender) {
$query = 'UPDATE `email` SET `senddel`="true" WHERE `id`='.$id.'';
}
if(person == recipent) {
$query = 'UPDATE `email` SET `recdel`="true" WHERE `id`='.$id.'';
}
if(recdel == 'true' && senddel == 'true'){
delfromdb
}
答案 0 :(得分:0)
分配到数据库中的列不会自动更新PHP变量。您需要执行另一个SQL查询:
$query = 'DELETE FROM email WHERE recdel = "true" and senddel = "true" AND id = $id';
答案 1 :(得分:0)
这些行为并非同时发生。因此,您不会触发该陈述为真。
我认为您的方案只有在发件人向自己发送电子邮件时才有效。
您需要更多条件,如果"语句检查recdel / senddel的状态,与发送者或接收者无关。