我正在尝试根据从之前的选择中获得的嵌套数组进行选择。
这是我做出第一个选择的地方:
$coursequery = "
SELECT
courseID
FROM enrollments
WHERE
studentID = '$userid'
";
try
{
$stmt = $db->prepare($coursequery);
$result = $stmt->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$rows = $stmt->fetchAll();
$_SESSION['studentcourses'] = $rows;
这会获取以下格式的所有类(class) ID:
Array ( [0] => Array ( [courseID] => 6 ) [1] => Array ( [courseID] => 7 ) )
并且我希望能够访问这些 ID 以从不同的表中选择信息。我首先尝试使用 for 循环根据 ID 获取所有“类(class)信息”。
for($i = 0; $i < $count; $i++) {
$coursequery = "
SELECT
*
FROM courses
WHERE courseID = '$studentcourses[$i]'
";
try
{
$stmt = $db->prepare($coursequery);
$result = $stmt->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$row = $stmt->fetchAll();
$_SESSION['studentcourseinfo'] = $row;
}
任何帮助我们完成此任务将不胜感激!
最佳答案
您可以通过一个 SQL 查询来完成此操作,从而消除所有这些循环
SELECT
*
FROM courses
INNER JOIN enrollments ON
enrollments.courseID = courses.courseID
AND enrollments.studentID = '$userid'
WHERE 1
关于php - 让 SQL 从嵌套数组中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35611477/