其實(shí)跟樹一樣。無限級(jí)數(shù)。以我的經(jīng)驗(yàn) 肯定是 比如 中國(guó) 下面在分 重慶、北京、成都等、 然后在分 重慶市、萬州區(qū)。以一種樹形的結(jié)構(gòu)展現(xiàn)
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)站空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、海港網(wǎng)站維護(hù)、網(wǎng)站推廣。
用xtree控件或者extree。網(wǎng)上搜一下。很多DEMO
首相將所有數(shù)據(jù)查出來放在List集合=當(dāng)中 然后多集合進(jìn)行表里就行
說下我個(gè)人的做法吧,不考慮任何效率問題,我是在查詢對(duì)象的時(shí)候,把對(duì)象用遞歸方法先封裝成一個(gè)集合。就是第一次查的時(shí)候,會(huì)拿到根,然后就可以開始使用遞歸去把子類提出來,直到?jīng)]有兒子。最后只需要把這個(gè)集合直接JSONArray 轉(zhuǎn)成json字符串。丟到前臺(tái)就行了。
/**
*?遞歸實(shí)現(xiàn)無限極分類
*?@param?$array?分類數(shù)據(jù)
*?@param?$pid?父ID
*?@param?$level?分類級(jí)別
*?@return?$list?分好類的數(shù)組?直接遍歷即可?$level可以用來遍歷縮進(jìn)
*/
function?getTree($array,?$pid?=0,?$level?=?0){
//聲明靜態(tài)數(shù)組,避免遞歸調(diào)用時(shí),多次聲明導(dǎo)致數(shù)組覆蓋
static?$list?=?[];????????foreach?($array?as?$key?=?$value){????????????//第一次遍歷,找到父節(jié)點(diǎn)為根節(jié)點(diǎn)的節(jié)點(diǎn)?也就是pid=0的節(jié)點(diǎn)
if?($value['pid']?==?$pid){????????????????//父節(jié)點(diǎn)為根節(jié)點(diǎn)的節(jié)點(diǎn),級(jí)別為0,也就是第一級(jí)
$value['level']?=?$level;????????????????//把數(shù)組放到list中
$list[]?=?$value;????????????????//把這個(gè)節(jié)點(diǎn)從數(shù)組中移除,減少后續(xù)遞歸消耗
unset($array[$key]);????????????????//開始遞歸,查找父ID為該節(jié)點(diǎn)ID的節(jié)點(diǎn),級(jí)別則為原級(jí)別+1
getTree($array,?$value['id'],?$level+1);
}
}