当删除一个讲座(在“讲座”表中的一行)时,它将移动到“删除讲座”表中。这是一种备份。在这种情况下,我需要能够从这两个表中调用,所以我想从“讲课”表中获取数据,但是如果这里不存在,那么我想从“ExtReScript删除”表中获取它。
下面的代码目前破坏了网站。任何帮助都将不胜感激!

function getModuleCode($id){
        $result = mysql_query('
            IF EXISTS
                (SELECT * FROM lectures WHERE lecture_id="'.$id.'")
            ELSE
                SELECT * FROM lectures_deleted WHERE lecture_id="'.$id.'";
            ')
        or die(mysql_error());
        $row = mysql_fetch_array($result);
        return $row['module_code'];
    }

最佳答案

怎么样:

$result = mysql_query('
            (SELECT * FROM lectures WHERE lecture_id="'.$id.'")
        UNION
            (SELECT * FROM lectures_deleted WHERE lecture_id="'.$id.'");
        ')

这种方式也会从删除的讲义中选择,如果它仍然存在于讲义表中,但是根据您的描述,我相信这不应该发生。
或者,我建议在“讲座”表中使用“已删除”标志(一个位字段),指示讲座是否已被删除。这样就不需要将已删除的条目移动到另一个表中。

10-08 18:43
查看更多