首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想用php mysql显示课堂表格中每个教室的所有部分。

我想用php mysql显示课堂表格中每个教室的所有部分。
EN

Stack Overflow用户
提问于 2022-01-22 14:59:19
回答 2查看 61关注 0票数 0

我有两张桌子:

教室(id,姓名),有13项记录。

每个教室有两个记录的部分(id,name,class_id)。

我想用php mysql显示每个教室教室表中的所有部分。

我有两个查询,每个表都有一个完全连接。

代码语言:javascript
复制
SELECT * FROM classrooms
JOIN sections ON sections.class_id=classrooms.id
GROUP BY(sections.class_id)

SELECT * FROM sections
JOIN classrooms ON classrooms.id=sections.class_id 

我的代码如下:

代码语言:javascript
复制
 <?php foreach($classrooms as $classe): ?>
    <div><?php echo $classe['name']; ?></div>
    <?php foreach($sections as $section): ?>
       <?php if($section['class_id'] == $classe['id']) : ?>
           <div class="">
               <div><?php echo $section['name']; ?></div>
           </div>
       <?php endif ?> 
   <?php endforeach ?>

它显示了第一个教室的两个部分,其他所有的教室都是空的。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2022-01-22 15:43:41

编辑编辑:好的,您的查询不应该返回查询本身,而是返回数据库中的项(如您的第二个注释中提到的)。也许可以检查数据库函数本身以及从中得到了什么。如果你得到一个数组,你可以循环它。您的查询本身(如您的第4条评论中所述)看起来很好。但他们似乎没有像前面所说的那样返回正确的值。或者共享数据库功能?

票数 0
EN

Stack Overflow用户

发布于 2022-02-22 14:24:43

我找到了解决办法。这个问题是在sql查询中出现的,所以在进行了多次重新查询之后,我将它(代码)更改为:

代码语言:javascript
复制
   $sql = "SELECT ac.`classe_name`, `section_name`, `classe_id` FROM `allclasses` ac JOIN `sections` sc ON  sc.`classe_id`=ac.id";

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

   $classes = $result->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_ASSOC);

并认为:

代码语言:javascript
复制
foreach($classes as $classe => $sections)

echo $classe;

foreach($sections as $section)

echo $section['section_name']

endforeach

endforeach
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70814059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档