php - 使用连接显示 PHP 中类别下的所有页面

标签 php mysql sql join

我有两张 table 。第一个表“pages”包含外键category_id,另一个表“categories”包含一个id 和一个title 字段。

这是我的 sql 查询:

SELECT categories.title as titleCategory, pages.title as titlePage FROM categories INNER JOIN pages ON pages.category_id = categories.id ORDER BY categories.title

想要的是显示这样的页面和类别:

category 1
    page 1
    page 2

category 2
    page 1

etc...

有没有办法使用 foreach 来做到这一点,还是必须使用 2 个查询?

非常感谢您的帮助。

最佳答案

假设使用 PHP,但逻辑应该适用于任何语言。

$cur_cat = null;
foreach($results as $result){
    if($cur_cat != $result['titleCategory']){
        echo $result['titleCategory'];
    }
    $cur_cat = $result['titleCategory'];
    echo $result['titlePage'];
}

关于php - 使用连接显示 PHP 中类别下的所有页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20361690/

相关文章:

php - 如何使用 phpunit 测试这个类,它使用到数据库的连接

php - 尝试复制时在路径中找不到文件

mysql - 将两个表中的选择查询插入到关联它们的第三个表中

php - 打印为字符串的 SQL 字段

c# - 在SQL中从一行中选择多行

php - symfony link_to 在行动

php - 使用 LDAPS 身份验证

mysql - 基于sum()的SQL查询限制

php - Mysql从两个表中选择组相似的行

php - 将动态文本框保存到数据库