天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php實現無限級分類實現代碼(遞歸方法)

開始以為這樣的功能似乎很難,之前也做過一個百科的東西,其中也涉及到了分類的功能,不過不是無限級的分類,而是簡單的實現了固定的三級分類,當時是自己設計的,想在想起來實現方法太土了,其實三級分類也只是無限級分類的一種特殊情況而已嘛。經過一段時間考慮,已經有了一些眉目,到網上一查,原來這樣的東西鋪天蓋地,呵呵。其實無限級下拉列表功能是很簡單的,無非就是用一個遞歸算法就好啦。
首先要設計數據庫,需要建一個表,里面存儲分類信息,至少需要3個字段,第一個是主鍵(ID),第二個是父級分類ID(parentid),第三個是分類的名稱(classname)。可能的一種效果是:
ID PARENTID CLASSNAME
1 0 一級分類A
2 0 一級分類B
3 1 二級分類A
4 1 二級分類B
主要思路:首先看第三行和第四行,父類ID(PARENTID)的值是1,表示屬于id=1這個類的子類,而,一,二兩行因為是一級分類,沒有上級分類,所以父類ID(PARENTID)的值是0,表示初級分類,依次類推便實現了無限級分類。最終的效果是:
├一級分類A
├─┴二級分類A
├─┴二級分類B
├一級分類B
然后就是程序,這里以php作為描述語言,可以很方便的改成其他語言,因為原理相似,就是一個遞歸而已。
復制代碼 代碼如下:
<?php
$dbhost = "localhost"; // 數據庫主機名
$dbuser = "root"; // 數據庫用戶名
$dbpd = "123456"; // 數據庫密碼
$dbname = "test"; // 數據庫名
mysql_connect($dbhost,$dbuser,$dbpd); //連接主機
mysql_select_db($dbname); //選擇數據庫
mysql_query("SET NAMES 'utf8'");
display_tree("├",0);
function display_tree($tag,$classid) {
$result = mysql_query("
SELECT *
FROM ylmf_class
WHERE parentid = '" . $classid . "'
;"
);
while ($row = mysql_fetch_array($result)) {
// 縮進顯示節點名稱
echo $tag.$row['classname'] . "<br/>";
//再次調用這個函數顯示子節點的子節點
display_tree($tag."─┴",$row['id']);
}
}
?>

這樣遞歸方法,對于大量的子欄目是個負擔,一些成熟的cms系統。都是生產數組方便調用,也能大幅的提高效率。

php技術php實現無限級分類實現代碼(遞歸方法),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产在线精品视频资源 | 琪琪的色原网站 | 亚洲色噜噜狠狠站欲八 | 嗯啊哈啊好棒用力插啊 | 中文在线免费看视频 | 美国xaxwaswaskino 美国VICTORY DAY在线 | 99久久国产露脸精品麻豆 | 日韩高清在线亚洲专区 | 亚洲视频一区在线 | a视频免费在线 | 欧美日韩一二区旡码高清在线 | 女王黄金vk | 免费人成网站在线观看10分钟 | 国产成人在线视频网站 | 国产精品久久毛片A片软件爽爽 | 妈妈的职业3完整版在线播放 | 日本福利片午夜免费观着 | 日韩a在线看免费观看视频 日韩a视频在线观看 | 成人免费视频网站www | 99爱在线观看精品视频 | 国产精品99精品无码视亚 | 乳巨揉みま痴汉电车中文字幕动漫 | 日本19禁啪啪吃奶大尺度 | 中国拍三a级的明星女 | 男人就爱吃这套下载 | 美女张开腿让男人桶爽无弹窗 | 免费一级特黄欧美大片久久网 | 乳巨揉みま痴汉电车中文字幕动漫 | 无码成人AAAAA毛片含羞草 | 日日噜噜大屁股熟妇 | 理论片在线观看片免费 | 国产自拍视频在线一区 | 果冻传媒视频在线播放 免费观看 | 中文字幕日本在线mv视频精品 | 2018久久视频在线视频观看 | 亚洲综合色在线视频久 | 午夜精品久久久久久久爽牛战 | 日本无码毛片一区二区手机看 | 绿巨人www | 女人高潮被爽到呻吟在线观看 | 欧洲xxxxx |