请原谅我,如果我看起来很傻,我是PhP MySQL的新手
总共有三张桌子
学生,类,父
我正在为父用户工作。作为家长,我想查看以下内容
- 我的学生在学习
- 他们的班级
学生表:
s_id s_name parent_id s_class_id
1 name1 40 20
班级表:
c_id c_name
20 Ten
父表:
p_id p_name
40 Parent1
我上面提到的第一项任务" 1。我的学生在学习"我成功完成了以下查询
"SELECT * FROM student where parent_id='$update_id' "
然后显示
$row['s_name']
对于所有想到$update id
来自哪里的人,我已经完成了以下几个代码,如下所示
$update_id = $login_type['p_id'];
我从会话中获取$login_type
现在我想做第二个任务,即" 2。他们的班级"
我不希望它作为单独的选择查询执行,我现在可以做,我希望它在上面完成的相同选择中。因为我只是从头开始学习,所以我被困在这里。请伙伴帮助我。
我尽力解释max,如果你还有任何澄清,请问我。
答案 0 :(得分:1)
您应该使用join
从多个表中获取结果。
您的查询应该类似于:
SELECT * FROM student
JOIN class
ON class.c_id = student.s_class_id
WHERE parent_id='$update_id'
您可以在此处阅读有关mysql join
的更多信息:http://dev.mysql.com/doc/refman/5.7/en/join.html
答案 1 :(得分:1)
SELECT * FROM student
INNER JOIN class ON class.c_id = student.s_class_id
WHERE parent_id = '$update_id'
您可以像这样使用mysql
join
查询,并可以在
$row['c_name']
答案 2 :(得分:1)
在这个单一的SELECT中,您可以从表格“学生”中获取所有数据。和'班级'与parent_id =' $ update_id'的学生相关使用JOIN。
echo $row['s_name'];
echo $row['c_name'];
// ..and so on for other fields.
要访问数据,请使用您已使用的相同方法:
string batFilename = batCommand + " " + snapshotOutput;
[编辑:添加LEFT加入,这样您就可以获得所有学生的数据,包括那些没有分配任何课程的学生。通过INNER JOIN(或仅加入'),您将错过没有课程的学生的行数。