php - 让 SQL 从嵌套数组中选择

标签 php mysql sql arrays multidimensional-array

我正在尝试根据从之前的选择中获得的嵌套数组进行选择。

这是我做出第一个选择的地方:

$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/

相关文章:

mysql - 如何更新 JOIN 上的 SQL

Mysql带索引的查询需要很长时间

mysql - 在 php sql 上订购最新的帖子

php - 在 WP/woocommerce 中是否有知道用户是否为 'shop_manager' 的功能

php - 如果我在调用 href 链接的同时调用 flash 函数,flash 函数是否始终会被执行?

php - 我的删除程序在 php 中不起作用

mysql - 循环遍历mysql子查询结果

mysql - 查找唯一的元组和列排列

PHP 数字的最小精度

php - 仅在使用 PHPUnit 时找不到类