亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

萌新求教!PHP怎么獲取一個分類下面的所有子分類的數據?萬分感謝

萌新求教!PHP怎么獲取一個分類下面的所有子分類的數據?萬分感謝

收到一只叮咚 2019-11-03 09:54:07
數據表結構如下:|category|CREATETABLEcategory(idint(11)NOTNULLDEFAULT'0',pidint(11)DEFAULTNULL,titlevarchar(50)COLLATEutf8_unicode_ciDEFAULTNULL,namevarchar(50)COLLATEutf8_unicode_ciDEFAULTNULL,PRIMARYKEY(id))ENGINE=MyISAMDEFAULTCHARSET=utf8COLLATE=utf8_unicode_ci問題:現在每一個分類都可以是無限級,隨便點擊一個全部,展現所有當前分類下面的子分類數據。比如:點擊了食品分類邏輯:食品中有水果,蔬菜,水果里有蘋果,香蕉,蔬菜里有西藍花,白菜,等等。點擊食品后,怎么把蘋果,香蕉,西藍花,白菜的所有數據展現出來?也就是說,不管點擊哪個分類,都把當前分類下面的所有子分類下面的數據都返回。請問怎么搞呢?(PHP)
查看完整描述

2 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

category表里加個字段path,
ALTERTABLE`category`
ADDCOLUMN`path`varchar(255)NULLDEFAULT0AFTER`name`;
以逗號逐級分隔所有父類,
id
pid
name
path
1
0
食品
0
2
1
水果
0,1
3
1
蔬菜
0,1
4
2
蘋果
0,1,2
查詢所有食品子類
SELECT*fromcategorywhereFIND_IN_SET('1',`path`);
                            
查看完整回答
反對 回復 2019-11-03
?
慕容森

TA貢獻1853條經驗 獲得超18個贊

可以參考基于closuretable的存儲方案,即加一個關聯表,存儲兩個類別之間的層級距離。然后查詢所有到該類別距離大于0的所有類別,就是你要查找的所有子類。
                            
查看完整回答
反對 回復 2019-11-03
  • 2 回答
  • 0 關注
  • 434 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號