Javascript 在另一个查询中执行查询

Javascript 在另一个查询中执行查询,javascript,php,mysql,database,html,Javascript,Php,Mysql,Database,Html,我试图执行一个Sql查询,该查询依赖于每个循环的另一个Sql查询的输出 我有三张桌子书,学生和借来的 Books表包含所有书籍的完整详细信息b_id为主键,student包含所有学生s_id的完整详细信息为主键,borrowed表包含s_id和b_id为外键,每个条目都是在学生借书时创建的 这种关系是一对多的,即学生可以借一本或多本书,也可以不借,但一本书不能与多个学生在一起。因此,我的b_id在表索引中是唯一的 我的计划是创建一个Html表格,列出所有借书的学生,点击表格中的一个学生,下拉表格

我试图执行一个Sql查询,该查询依赖于每个循环的另一个Sql查询的输出

我有三张桌子书,学生和借来的

Books表包含所有书籍的完整详细信息b_id为主键,student包含所有学生s_id的完整详细信息为主键,borrowed表包含s_id和b_id为外键,每个条目都是在学生借书时创建的

这种关系是一对多的,即学生可以借一本或多本书,也可以不借,但一本书不能与多个学生在一起。因此,我的b_id在表索引中是唯一的

我的计划是创建一个Html表格,列出所有借书的学生,点击表格中的一个学生,下拉表格显示该学生借来的所有书籍

我似乎无法让SQL查询运行,因为我需要第一个SQL查询的s_id才能让下一个SQL查询工作。加上我的下拉表也不能正常工作

请参阅下面的代码

Click on a student to see books borrowed:
<table class="table2">
    <thead>
    <tr>
        <th></th>
        <th>Name</th>
        <th>Mat number/th>
        <th>Dept</th>
        <th>level</th>
    </tr>
    </thead>
    <tbody>
    <?php
        $sql_query = "SELECT student.* FROM student, borrowed where student.s_id = borrowed.s_id Group by student.s_id;";

        $result =  $db->query($sql_query);

        if(mysqli_num_rows($result)>0){
            $counter = 0;

            while ($row = $result->fetch_array())
            {
                $counter++;
    ?>

    <tr>
        <td class="btn"><?php echo $counter;?></td>
        <td><?php echo $row['name'];?></td>
        <td><?php echo $row['matNo'];?></td>
        <td><?php echo $row['Dept'];?></td>
        <td><?php echo $row['level'];?></td>
    </tr>
    <tr>
        <th class="expand1"></th>
        <th class="expand1">Title</th>
        <th class="expand1">Author</th>
        <th class="expand1">Genre</th>
        <th class="expand1">ISBN</th>
    </tr>
   <tr><?php
               foreach($row as $studentid){

                   $sql = "SELECT books.* 
                           FROM books 
                             inner Join borrowed on books.b_id = borrowed.b_id  
                           WHERE borrowed.s_id = $studentid";

                   $result2= $dbs->query($sql);
                   while( $row2 = $result2->fetch_array()){
        ?>
        <td class="expand1"><?php echo $row2['title'];?></td>
        <td class="expand1"><?php echo $row2['author'];?></td>
        <td class="expand1"><?php echo $row2['genre'];?></td>
        <td class="expand1"><?php echo $row2['isbn'];?></td>
    </tr>
    <?php
                   }
               }
        }
    }
        $result->close();
        $dbs->close();
    ?>
</table>
这是我创建切换/可折叠表的脚本:

<script>
    $(document).ready(function(){
        $(".btn").click(function(){
            $(".expand1").toggle();
        });
        $(".btn2").click(function(){
            $(".expand2").toggle();
        });
    })

</script>

第二个查询不需要在循环中,您可以在第二个查询的where子句中使用第一个查询的s_id


您还必须删除以下结束语之一}

非常感谢。现在可以了。我能看到每个学生借的书。
           $sql = "SELECT books.* 
                   FROM books 
                      inner Join borrowed on books.b_id = borrowed.b_id  
                   WHERE borrowed.s_id = {$row['s_id']}";

               $result2= $dbs->query($sql);
               while( $row2 = $result2->fetch_array()){
    ?>