下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PHP實(shí)現(xiàn)無限分類的實(shí)現(xiàn)方法
無限級(jí)分類是一種設(shè)計(jì)技巧,在開發(fā)中經(jīng)常使用,本篇文章主要介紹PHP實(shí)現(xiàn)
無限分類的實(shí)現(xiàn)方法,有需要的可以了解一下。
無限級(jí)分類是一種設(shè)計(jì)技巧,在開發(fā)中經(jīng)常使用,例如:網(wǎng)站目錄、部門結(jié)構(gòu)、
文章分類。筆者覺得它在對(duì)千設(shè)計(jì)表的層級(jí)結(jié)構(gòu)上面發(fā)揮很大的作用,比如大家
在一些平臺(tái)上面,填寫邀請(qǐng)人,它就是一種上下級(jí)的關(guān)系,上級(jí)會(huì)有多個(gè)下級(jí),
下級(jí)又會(huì)有自己的分支,大多數(shù)都是利用遞歸的思想去實(shí)現(xiàn)。話不多說,首先來
溫故一下遞歸的實(shí)現(xiàn)。
遞歸(程序調(diào)用自身的編程技巧):
:1..、$-CiLOBALS[vesl,((t]
2、static$result
3、參數(shù)引用&
舉例:遍歷1-10
1$i=O;
functiondeeploop{$i){
global江;
l$i++;
echoSi;
if($i<l0){
deeploop($i);
'.,functiondeeploop(){
static$i=O;
l$i++;
echo$i;
if($i<l0){
deeploop($i);
'8l
2、}
1
<functiondeeploop(&$i=O){
l$i++;
echo$i;
if($i<10){
deeploop($i);
一、無限分類實(shí)現(xiàn):
1、表設(shè)計(jì)設(shè)置父id頂級(jí)父id設(shè)為0建立族譜樹;每一個(gè)分類都需記錄它的
父級(jí)id。(pid=o代表頂級(jí))
idpidcate八aW\ecateor-der-cr-eatetiW\eC主鍵id,父id,分類八aW\e,
分類排序,創(chuàng)建時(shí)間)
舉例:網(wǎng)站的分類目錄結(jié)構(gòu);餐飲的分類結(jié)構(gòu);評(píng)論的結(jié)構(gòu)
2、全路徑無限分類(以一個(gè)字段將所有父級(jí)id按順序記錄下來)
idpatl-lcateVtaW\ecateoY-dey-cY-eatetiW\e(主鍵枕逗號(hào)分隔的順序排列
父id,分類VtaW\e,分類排序,創(chuàng)建時(shí)間)
優(yōu)缺點(diǎn):
全路徑查詢方便;增加,移動(dòng)分類時(shí)數(shù)據(jù)維護(hù)稍顯復(fù)雜;
二、舉例實(shí)現(xiàn)(網(wǎng)站目錄):
分類表:
飛父級(jí)Id遞歸法
CREATETABLE、deepcate、(
、id'int(11)NOTNULLAUTO_INCREMENTPRIMARYKEY,
、pid、in七(11)NOTNULLDEFAULT0,
、catename'cha工(25)NOTNULL,
、ca七eorder、int(6),
、createtime、date
8)ENGINE=INNODBdefaul.tCHARSET=utfS;
JI//數(shù)據(jù)
1INSERTINTO、deepca七e'VALUES(l,O,,圖片,,null,'2016-11-01'),
2,1,,美女',null,'2016-11-01'),
上43,1,'新聞,,null,'2016-11-01'),
4,2,'足球?qū)氊?,null,'2016-11-01'),
5,2,,日韓明星',null,'2016-11-01'),
6,5,,美女寫真,,null,'2016-11-01');
#全路徑
CREATETABLE、qljca七e、(
、id'int(11)NOTNULL,
、path、char(255),
、catename、cha工(25)NOTNULL,
、ca七eorder、int(6),
?-createtime'dace
2)ENGINE=INNODBdefaultCHARSET=utf8;
~INSERTINTO、qljcate、VALUES(1,null,,圖片,,null,'2016-11-01'),
(2,1,,美女圖片,,null,'2016-11-01'),
(3,1,2,,足球?qū)氊?,null,'2016-11-01'),
1
4,1,2,,日韓明星',null,'2016-11-01'),
(5,1,2,4,'美女寫貞',null,'2016-11-01');
獲取圖片所在的目錄路徑:
l#父級(jí)Id遞歸法
CREATETABLE、deepcate、(
'id、in七(11)NOTNULLAUTO_INCREMENTPRIMARYKEY
、pid、int(ll)NOTNULLDEFAULT0,
'catename、char(25)NOTNULL,
'cateorder、int(6),
、createtime、date
)ENGINE=INNODBdefaultCHARSET=utf8;
1//數(shù)據(jù)
~INSERTINTO、deepcate、VALUES(l,O,,圖片,,null,'2016-11-01'),
2,1,,美女',null,'2016-11-01'),
1l3,1,I新聞,,null,'2016-11-01'),
4,2,'足球?qū)氊?,null,'2016-11-01'),
5,2,'日韓明星',null,'2016-11-01'),
6,5,,美女寫真',null,'2016-11-01');
~8
#全路徑
CREATETABLE、qljca七e、(
i.'id、int(11)NOTNULL,
'path、char(255),
、catename、char(25)NOTNULL,
'cateorder、int(6),
、createtime'date
)ENGINE=INNODBdefau1tCHARSET=utf8;
2仁INSERTINTO、qljcate、VALUES(1,null,,圖片,,null,'2016-11-01'),
{2,1,,美女圖片,,null,'2016-11-01'),
(3,1,2,,足球?qū)氊?,null,'2016-11-01'),
4,1,2,,日韓明星',null,'2016-11-01'),
{5,1,2,4,'美女寫直',null,'2016-11-01');
*注意點(diǎn):
移動(dòng)分類不能移到自己及其子類下面;刪除分類(只能刪除最底層的分類,及不
含子類的分類;換言之,只能從最底層刪起).
思考圖片類型下所有的圖片分類?
l#pid父級(jí)id實(shí)現(xiàn)法
functionGetAllcate($id,&$工esult=ar工ay()){
$sql="SELECT*FROMdeepcateWHEREpidin({$id})";
4$query=mysql_query($sql);
$row=mysql_fetch—assoc($query);
if(mysql_num_rows($row)>O)
$idlist=array();
while($row){
$result[J=$row;
'l$idlist[J=$row['id'J;
$id=implode(',',$idlis七);
4GetAllcate($id,$result);
1
$resul工=array_unique($result:);
retu亡n$result;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 快遞加盟合作協(xié)議書模板
- 公務(wù)車輛維修服務(wù)合同樣本
- 國際法買賣合同范本2024年
- 工程代建委托協(xié)議范本
- 2024工廠轉(zhuǎn)讓協(xié)議書樣式
- 2024年版離婚協(xié)議書怎么寫
- 拖拉機(jī)交易協(xié)議書
- 2024年標(biāo)準(zhǔn)離婚協(xié)議書參考范文
- 專利技術(shù)許可協(xié)議書
- 2024年裝修合同保密協(xié)議模板范本
- 采購管理-采購新觀念新技能新趨勢(shì)
- 淋巴細(xì)胞與異型淋巴細(xì)胞
- 十大醫(yī)藥代表成功經(jīng)驗(yàn)分享
- 《克服厭學(xué)情緒》課件
- 2024全新第五版FMEA培訓(xùn)教材
- 頂管施工安全警示與提醒
- 萬千教育學(xué)前與兒童一起探索自然:幼兒園自然課程故事
- 小班美術(shù)教案:小兔家的新門簾教案及教學(xué)反思
- 人工智能在體育運(yùn)動(dòng)中的運(yùn)用
- 殘聯(lián)交流經(jīng)驗(yàn)發(fā)言模板
- 消防通道暢通
評(píng)論
0/150
提交評(píng)論