課程
/后端開發(fā)
/PHP
/PHP無限級分類技術(shù)
mysql中 order by 是從左到右逐位比較的。后期給某個分類添加子類,根據(jù)fullpath排序就可能出現(xiàn)下圖這種情況,這種情況應(yīng)該怎么解決???
如圖:
2015-11-14
源自:PHP無限級分類技術(shù)
正在回答
這個問題已經(jīng)解決了。
1、因為mysql排序是從左到右逐位比較。后期添加分類,在排序的時候會出現(xiàn)斷層。解決辦法是除了第1位0外,在節(jié)點id前面使用0把id填充到固定位數(shù),或者把所有位置上的id都填充到相同位數(shù)。例如:0,0000000001,0000000002;0000000000,0000000001,0000000002。
2、這樣插入分類數(shù)據(jù)path就是指fullpath(全路徑),在插入的時候就要把fullpath算出來。fullpath處理方法
????方法1:插入數(shù)據(jù),獲取插入id,根據(jù)需求算出fullpath,更新path;
????方法2:自己維護id,在插入數(shù)據(jù)的時候就算出fullpath.?
3、不使用order by fullpath在mysql中進行排序,排序在后端完成或者前端(建議把數(shù)據(jù)交給前端,前端進行排序處理),這樣可以提高性能。
有更好的方法,希望大家提出來,一起進步
舉報
經(jīng)典的遞歸實現(xiàn)和全路徑實現(xiàn)兩種方式實現(xiàn)無限分類
3 回答怎么能用id排序呢,id自增長,實際操作中,難免有增刪改查操作,按id排序就找不到實際的路徑了
3 回答有點業(yè)務(wù)上的糾結(jié)。這應(yīng)該是現(xiàn)實中的問題吧
3 回答請問老師 無限分類和 全路徑無限分類 有什么區(qū)別啊
3 回答請問老師,什么時候能展示下分類和子分類的添加 修改 刪除,謝謝
2 回答concat(path,',',id)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-11-16
這個問題已經(jīng)解決了。
1、因為mysql排序是從左到右逐位比較。后期添加分類,在排序的時候會出現(xiàn)斷層。解決辦法是除了第1位0外,在節(jié)點id前面使用0把id填充到固定位數(shù),或者把所有位置上的id都填充到相同位數(shù)。例如:0,0000000001,0000000002;0000000000,0000000001,0000000002。
2、這樣插入分類數(shù)據(jù)path就是指fullpath(全路徑),在插入的時候就要把fullpath算出來。fullpath處理方法
????方法1:插入數(shù)據(jù),獲取插入id,根據(jù)需求算出fullpath,更新path;
????方法2:自己維護id,在插入數(shù)據(jù)的時候就算出fullpath.?
3、不使用order by fullpath在mysql中進行排序,排序在后端完成或者前端(建議把數(shù)據(jù)交給前端,前端進行排序處理),這樣可以提高性能。
有更好的方法,希望大家提出來,一起進步