Php 显示某些MySQL表
以下是我的PHP数据库结构: 我已经尝试了几个小时使用PDO实现一个JOIN SQL查询,但是失败了,所以我需要一些帮助 我需要一个PDO查询,该查询显示分配给学生也注册的班级id的所有“作业”(标题和说明) 如果你需要我更具体一些,请告诉我。谢谢 编辑 这是我做的一个查询,它显示了一个人所在的类Php 显示某些MySQL表,php,mysql,database,pdo,Php,Mysql,Database,Pdo,以下是我的PHP数据库结构: 我已经尝试了几个小时使用PDO实现一个JOIN SQL查询,但是失败了,所以我需要一些帮助 我需要一个PDO查询,该查询显示分配给学生也注册的班级id的所有“作业”(标题和说明) 如果你需要我更具体一些,请告诉我。谢谢 编辑 这是我做的一个查询,它显示了一个人所在的类 $sql = $db->prepare("SELECT enrollments.*, courses.*, students.* FROM enrollments LEFT JOIN cours
$sql = $db->prepare("SELECT enrollments.*, courses.*, students.* FROM enrollments
LEFT JOIN courses ON enrollments.course_id = courses.id
LEFT JOIN students ON students.id = enrollments.student_id
WHERE enrollments.student_id = ?
");
$sql->execute(array($login_id));
while($row = $sql->fetch(PDO::FETCH_ASSOC))
{
echo "<li><a href='class.php?id=".$row['course_id']."'><i class='icon-book'></i>".$row['name']."</a></li>";
}
$sql=$db->prepare(“从注册中选择注册。*、课程。*、学生。*”
在注册时左键加入课程。课程\u id=课程.id
在students.id=registrations.student\u id上加入左侧学生
其中registrations.student_id=?
");
$sql->execute(数组($login_id));
而($row=$sql->fetch(PDO::fetch_ASSOC))
{
回声“”;
}
这里有一个相对简单的连接,可以实现我认为您想要的目标
$sql = $db->prepare("SELECT
title,
description,
courses.name
FROM assignments
JOIN courses ON courses.id = assignments.course_id
JOIN enrollments USING(course_id)
WHERE enrollments.student_id = ?");
$sql->execute(array($login_id));
我的思考过程是这样的:
与您的查询的差异(在我看来),是使用您的绝对目标实体作为原始FROM表,然后从那里加入。如果您想要分配,查询应该从分配中的
开始,然后使用加入来拉入您需要使用的数据以限制结果。嘿,Alex-我对PDO不太熟悉,所以无论如何我都无法帮助您,但它是通常情况下,在没有提供您尝试过的示例的情况下寻求帮助是一种糟糕的形式。您所写的内容不仅很有可能已经接近有效,而且还证明您在这个问题上花费了时间。我用我所做的查询对其进行了更新,该查询显示了用户注册的课程,但无法让它显示每个学生的家庭作业class.YAY!一个不使用mysql且名声不好的人!这很有魅力。也感谢你的思考过程;它确实为我澄清了一些事情。你真的知道它来自哪个课程吗?我想展示class:Assign.titlesule东西…只需在课程中添加一个连接。这是一个很好的例子联接的替代语法(启用而不是使用)