使用PHP MySQL

时间:2016-04-06 10:35:15

标签: php mysql select

请原谅我,如果我看起来很傻,我是PhP MySQL的新手

总共有三张桌子

  

学生,类,父

我正在为父用户工作。作为家长,我想查看以下内容

  
      
  1. 我的学生在学习
  2.   
  3. 他们的班级
  4.   

学生表:

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,如果你还有任何澄清,请问我。

3 个答案:

答案 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(或仅加入'),您将错过没有课程的学生的行数。