2016-08-04 5 views
0

グループメニューでデータを並べ替える方法は?グループメニューでデータを並べ替える方法は?

mysqlの

SELECT pc.pc_id, pc.pc_icon, pc.pc_parent, pcd.pcd_name, pcd.pcd_id 
FROM product_category pc 
LEFT JOIN product_category_detail pcd ON pcd.pc_id=pc.pc_id 
ORDER BY pc.pc_group, pc.pc_sort, pc.pc_id 

enter image description here

私はコンテンツメニューに

例を示したいと思います。 subtest6-2-1

  • -subtest6
  • --subtest6-2
    • TEST6
    • ---
    • TEST7

    私はそれを照会できますか? ありがとうございます

  • 答えて

    0

    無制限のサブメニューが必要な場合は、PHPを使用してループする方が簡単かもしれません。

    それは

    SELECT a.id, 
    FROM 
    SELECT pc.pc_id, pc.pc_icon, pc.pc_parent, pcd.pcd_id, 
    concat(if (pc.pc_parent = 0, '', '- '), pcd.pcd_name) AS pcd_name 
    FROM product_category AS pc 
    LEFT JOIN product_category_detail AS pcd ON pcd.pc_id = pc.pc_id 
    

    例えば、まだpc.pc_group、pc.pc_sort BY ORDERメニューの2つのレベルを生成するのは簡単ですが、

    をpc.pc_idか、簡単を持っているカテゴリテーブルを再設計かもしれません無制限のサブメニューツリー:

    pc_id 
    11 
    1122 -- kid of 11 
    112233 -- kid of 1122 
    55 
    66 
    6677 -- kid of 66 
    
    関連する問題