簡體   English   中英

通過連接顯示PHP中類別下的所有頁面

[英]Display all pages under categories in PHP with joins

我有2張桌子。 第一個頁面包含一個外鍵category_id,另一個表類別包含一個id和標題字段。

這是我的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個查詢?

非常感謝您的幫助。

只需在單個foreach循環中進行檢查即可。

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

如果標題已更改,則只會打印出標題。 您已經有按categoryTitle排序的,因此,如果類別不變,則僅打印pageTitle。

假設使用PHP,但是邏輯代碼可以在任何語言中工作。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM