簡體   English   中英

在MYSQL PHP中獲取與GROUP_CONCAT相關的數據

[英]To get data related to the GROUP_CONCAT in MYSQL PHP

表格1

表格1

表2

表2

這是通過使用此查詢得到的那兩個表的結果:

SELECT t1.*, GROUP_CONCAT(t2.content_id) 
FROM news_categories t1 
LEFT JOIN news_content t2 
    ON t2.cat_ids = t1.cat_id 
GROUP BY t1.cat_id

結果產生

結果

如何從與content_id相關的result(table) GROUP_CONCAT(t2.content_id)獲取table2中的信息?

並使用PHP從table2中檢索這些數據

好吧,您在這里有一對多的關系。 意味着表1中的一行可以與表2中的0-n行相關。

如果按表1的主鍵進行分組,則將結果限制為表1中每一行的一個結果行,通過使用GROUP_CONCAT(table2_col)您可以將table2_column的所有匹配行連接在一起,默認情況下使用逗號分隔。

玩以下查詢:

SELECT
     t1.*, 
     GROUP_CONCAT(t2.content_id) AS content_ids,
     GROUP_CONCAT(t2.title) AS content_titles
FROM 
    news_categories t1 
        LEFT JOIN news_content t2 ON t2.cat_ids = t1.cat_id 
GROUP BY t1.cat_id

要么

SELECT
     t1.*, 
     t2.*
FROM 
    news_categories t1 
        LEFT JOIN news_content t2 ON t2.cat_ids = t1.cat_id 

我建議寫出所需的列,而不要使用。*

編輯

要分離php中的串聯值,請看看explode

您照常獲取數據,例如

$result = mysqli_query( $query );
while ( $row = mysqli_fetch_assoc( $result ) ) {
    print_r( $row );
}

看看這個例子

暫無
暫無

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

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