Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-回显缺少的条目_Php_Mysql_Duplicates - Fatal编程技术网

PHP-回显缺少的条目

PHP-回显缺少的条目,php,mysql,duplicates,Php,Mysql,Duplicates,我有个问题 SELECT a.* FROM subject_tbl a LEFT JOIN class_tbl b ON a.subject_ID = b.subject_ID AND a.subject_yr = 2010 AND a.subject_sem = '1st' AND b.student_ID = 3003 WHERE b.subj

我有个问题

SELECT  a.*
FROM    subject_tbl a
        LEFT JOIN class_tbl b
            ON  a.subject_ID = b.subject_ID AND
                a.subject_yr = 2010 AND
                a.subject_sem = '1st' AND
                b.student_ID = 3003
WHERE   b.subject_ID IS NULL
我有三张桌子,分别是班级、学科和*学生。班级tbl有3列*“班级id、科目id和学生id”。*而科目tbl有4列*“科目id、科目名称、科目年份、科目结构”*最后*学生tbl有2列“学生id和学生名称”*

SELECT  a.*
FROM    subject_tbl a
        LEFT JOIN class_tbl b
            ON  a.subject_ID = b.subject_ID AND
                a.subject_yr = 2010 AND
                a.subject_sem = '1st' AND
                b.student_ID = 3003
WHERE   b.subject_ID IS NULL
类tbl有以下行:

**[class_id || subject_id || student_id]**

|| 1001   ||    2002    || 3003

|| 1002   ||    2003    || 3003

|| 1003   ||    2004    || 3003
SELECT  a.*
FROM    subject_tbl a
        LEFT JOIN class_tbl b
            ON  a.subject_ID = b.subject_ID AND
                a.subject_yr = 2010 AND
                a.subject_sem = '1st' AND
                b.student_ID = 3003
WHERE   b.subject_ID IS NULL
主题tbl有5行:

**[subject_id ||  subject_name  || subject_yr || subject_sem]**

|| 2002     ||    Math        ||    2010    || 1st

|| 2003     ||   Science      ||    2010    || 1st

|| 2004     ||    History     ||    2010    || 1st

|| 2005     ||      PE        ||    2010    || 1st

|| 2006     || Social Studies ||    2010    || 1st
SELECT  a.*
FROM    subject_tbl a
        LEFT JOIN class_tbl b
            ON  a.subject_ID = b.subject_ID AND
                a.subject_yr = 2010 AND
                a.subject_sem = '1st' AND
                b.student_ID = 3003
WHERE   b.subject_ID IS NULL
学生tbl有一行:取决于实际学生人数

**[student_id || student_name]**

||   3003   ||  John Parker
SELECT  a.*
FROM    subject_tbl a
        LEFT JOIN class_tbl b
            ON  a.subject_ID = b.subject_ID AND
                a.subject_yr = 2010 AND
                a.subject_sem = '1st' AND
                b.student_ID = 3003
WHERE   b.subject_ID IS NULL
这里的目标是,查询将回应最后两个主题,即体育和社会研究,以便我可以将它们插入课堂。echo告诉我,在那个学期和学年,我没有2个科目的条目。该查询不会回显已在数学、科学和历史类tbl条目中的科目。 我如何质疑和回应那学期和那一年缺少的科目?我真的想不出什么主意。帮助tnx

SELECT  a.*
FROM    subject_tbl a
        LEFT JOIN class_tbl b
            ON  a.subject_ID = b.subject_ID AND
                a.subject_yr = 2010 AND
                a.subject_sem = '1st' AND
                b.student_ID = 3003
WHERE   b.subject_ID IS NULL
这里的代码显示了该学校一年和一学期的所有科目

            if (isset ($db1)&&$db1!=""){


            }

            <?php

                $student_id = $_POST['student_id'];
                $sem = $_POST['sem'];
                $yr = $_POST['yr'];

                $list = mysql_query("SELECT * 
                                    FROM
                                    class_tbl 
                                    LEFT JOIN
                                    subject_tbl
                                    ON
                                    class_tbl.subject_id = subject_tbl.subject ID
                                    WHERE
                                    student_id = '$student_id'
                                    OR
                                    subject_sem = '$sem' 
                                    OR
                                    subject_yr = '$yr' 
                                    ORDER BY 
                                    subject_id asc");

                while($row_list=mysql_fetch_assoc($list))
                {
                echo $row_list['subject_id'];

                if($row_list['subject_id']==$db1){echo "selected"; }

                echo $row_list['subject_name'];

                }
SELECT  a.*
FROM    subject_tbl a
        LEFT JOIN class_tbl b
            ON  a.subject_ID = b.subject_ID AND
                a.subject_yr = 2010 AND
                a.subject_sem = '1st' AND
                b.student_ID = 3003
WHERE   b.subject_ID IS NULL
if(isset($db1)&&$db1!=“”){
}
输出

SELECT  a.*
FROM    subject_tbl a
        LEFT JOIN class_tbl b
            ON  a.subject_ID = b.subject_ID AND
                a.subject_yr = 2010 AND
                a.subject_sem = '1st' AND
                b.student_ID = 3003
WHERE   b.subject_ID IS NULL
╔════════════╦════════════════╦════════════╦═════════════╗
║ SUBJECT_ID ║  SUBJECT_NAME  ║ SUBJECT_YR ║ SUBJECT_SEM ║
╠════════════╬════════════════╬════════════╬═════════════╣
║       2005 ║ PE             ║       2010 ║ 1st         ║
║       2006 ║ Social Studies ║       2010 ║ 1st         ║
╚════════════╩════════════════╩════════════╩═════════════╝
输出

SELECT  a.*
FROM    subject_tbl a
        LEFT JOIN class_tbl b
            ON  a.subject_ID = b.subject_ID AND
                a.subject_yr = 2010 AND
                a.subject_sem = '1st' AND
                b.student_ID = 3003
WHERE   b.subject_ID IS NULL
╔════════════╦════════════════╦════════════╦═════════════╗
║ SUBJECT_ID ║  SUBJECT_NAME  ║ SUBJECT_YR ║ SUBJECT_SEM ║
╠════════════╬════════════════╬════════════╬═════════════╣
║       2005 ║ PE             ║       2010 ║ 1st         ║
║       2006 ║ Social Studies ║       2010 ║ 1st         ║
╚════════════╩════════════════╩════════════╩═════════════╝

如果您使用,请将其结构设计得更人性化一点(例如,将内容加粗或斜体),然后帮助您轻松地将其结构设计得更人性化一点(例如,将内容加粗或斜体),如果您使用,那么帮助您轻松地使用许多tnx。。。最后一个问题。请问是否可以,SELECT和class_tbl“b”中的“a.*”代表什么?它们应该是桌子吗?对不起,
a和b分别被称为表
subject\u tbl
class\u tbl
的别名
a.*
表示从表
subject\u tbl
中选择所有列。不客气
:)
别名在表名较长时很有用。嘿,伙计,虽然有些科目属于不同的学期和学年,但为什么查询会显示重复项呢?即使我指定了学期和学年。例如,历史分为2010学年的第二学期和2011学年的第一学期。回声显示两个同名条目。添加不同的,例如
选择不同的a.*FROM…
Many tnx to u…,怎么样。。。最后一个问题。请问是否可以,SELECT和class_tbl“b”中的“a.*”代表什么?它们应该是桌子吗?对不起,
a和b分别被称为表
subject\u tbl
class\u tbl
的别名
a.*
表示从表
subject\u tbl
中选择所有列。不客气
:)
别名在表名较长时很有用。嘿,伙计,虽然有些科目属于不同的学期和学年,但为什么查询会显示重复项呢?即使我指定了学期和学年。例如,历史分为2010学年的第二学期和2011学年的第一学期。回显显示两个相同名称的条目。添加不同名称的条目如何,例如
选择不同的a.*FROM…