真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php無限極分類數(shù)據(jù)庫 php無限極分類的原理

關(guān)于PHP無限極分類

function?genTree5($items)?{?

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、建華網(wǎng)絡(luò)推廣、成都小程序開發(fā)、建華網(wǎng)絡(luò)營銷、建華企業(yè)策劃、建華品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供建華建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com

foreach?($items?as?$item)?

$items[$item['pid']]['son'][$item['id']]?=?$items[$item['id']];?

return?isset($items[0]['son'])???$items[0]['son']?:?array();?

}

超級爽的函數(shù),格式可能不一樣,但肯定有用,樹狀結(jié)構(gòu)的輸出

什么是 無限極分類???(PHP。數(shù)據(jù)庫)

那是一種關(guān)聯(lián)關(guān)系....sql 里可以叫"自連接" 假設(shè):表 Category 有以下字段: Id(PK),Cate_Name(varchar),Cate_Parent_Id(int) 數(shù)據(jù): Id(編號ID) Cate_Name(類別名稱) Cate_Parent_Id(父級Id) 1 BaseCategory 0 2 News 1 3 Article 1 4 Story 3 說明: Id 為 1 的基類別(沒有父級類別) News,Article 為 基類別下的子分類 Story 為 Article 下的子分類 層次關(guān)系: 0 - 2 - 3 - 4 這樣就可以簡單實(shí)現(xiàn)無限分類的數(shù)據(jù)庫的設(shè)計(jì)了 使用: 給出Id 獲取到它的父類別和所有子類別 Function getParentCategory($Id){ $sql = "select * from Category where Id = (select Cate_Parent_Id from Category where Id = $Id)"; $rs = mysql_query($sql,$conn); ...... //省事期間,給出偽代碼吧 if(記錄不存在 或者 $Id = 1){ return false; //無父級或不存在 }else{ return 查詢出的父級數(shù)據(jù)數(shù)組; } } Function getChildCategory($PId){ $sql = "select * from Category where Cate_Parent_Id = $PId"; 存在則返回?cái)?shù)據(jù)數(shù)組 否則返回false } 上面只是簡單說明下大致思路.. php,J2ee的我沒手寫過,都是通過支持ORM的MVC框架去配置出來的. asp的倒是寫過,需要的話,可以發(fā)你 只要邏輯關(guān)系整清楚了,就不難了...至于頁面展示,可以用JS或者AJAX

如何使用PHP實(shí)現(xiàn)無限級分類

你還在用浪費(fèi)時(shí)間又浪費(fèi)內(nèi)存的遞歸遍歷無限極分類嗎,看了該篇文章,我覺得你應(yīng)該換換了。

這是我在OSChina上看到的一段非常精簡的PHP無限極分類生成樹方法,巧在引用,整理分享了。

復(fù)制代碼代碼如下:

function generateTree($items){

$tree = array();

foreach($items as $item){

if(isset($items[$item['pid']])){

$items[$item['pid']]['son'][] = $items[$item['id']];

}else{

$tree[] = $items[$item['id']];

}

}

return $tree;

}

$items = array(

1 = array('id' = 1, 'pid' = 0, 'name' = '安徽省'),

2 = array('id' = 2, 'pid' = 0, 'name' = '浙江省'),

3 = array('id' = 3, 'pid' = 1, 'name' = '合肥市'),

4 = array('id' = 4, 'pid' = 3, 'name' = '長豐縣'),

5 = array('id' = 5, 'pid' = 1, 'name' = '安慶市'),

);

print_r(generateTree($items));

可以看到下面打印的結(jié)果:

復(fù)制代碼代碼如下:

Array

(

[0] = Array

(

[id] = 1

[pid] = 0

[name] = 安徽省

[son] = Array

(

[0] = Array

(

[id] = 3

[pid] = 1

[name] = 合肥市

[son] = Array

(

[0] = Array

(

[id] = 4

[pid] = 3

[name] = 長豐縣

)

)

)

[1] = Array

(

[id] = 5

[pid] = 1

[name] = 安慶市

)

)

)

[1] = Array

(

[id] = 2

[pid] = 0

[name] = 浙江省

)

)

上面生成樹方法還可以精簡到5行:

復(fù)制代碼代碼如下:

function generateTree($items){

foreach($items as $item)

$items[$item['pid']]['son'][$item['id']] = $items[$item['id']];

return isset($items[0]['son']) ? $items[0]['son'] : array();

}

上面這種無限極分類數(shù)據(jù)樹形結(jié)構(gòu)化的方法值得借鑒。但是我覺得這段代碼實(shí)際用途并不明顯啊,你想取出格式化的樹形數(shù)據(jù)還是要遞歸?。?/p>

復(fù)制代碼代碼如下:

/**

* 如何取數(shù)據(jù)格式化的樹形數(shù)據(jù)

*/

$tree = generateTree($items);

function getTreeData($tree){

foreach($tree as $t){

echo $t['name'].'br';

if(isset($t['son'])){

getTreeData($t['son']);

}

}

}

getTreeData($tree);


名稱欄目:php無限極分類數(shù)據(jù)庫 php無限極分類的原理
文章分享:http://weahome.cn/article/dosdsih.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部