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

基于php無限分類的深入理解

無限分類是實際開發中經常用到的一種數據結構,一般我們稱之為樹形結構。
題設:類似淘寶的商品分類,可以在任意分類設置其子類。
 
一、創建`type`數據表
`id` 自增長
`fid` int(11) 默認(0) ,父節點id
`name` varchar(50),分類名稱
復制代碼 代碼如下:
CREATE TABLE `type` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fid` int(11) NOT NULL DEFAULT '0',
  `name` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
)

二、添加
我們先添加幾個頂級分類
復制代碼 代碼如下:
INSERT INTO `type` (`id`, `fid`, `name`) VALUES (NULL, '0', '手機');
INSERT INTO `type` (`id`, `fid`, `name`) VALUES (NULL, '0', '電腦');
INSERT INTO `type` (`id`, `fid`, `name`) VALUES (NULL, '0', '鞋子');
INSERT INTO `type` (`id`, `fid`, `name`) VALUES (NULL, '0', '衣服');

這里fid=0是代表頂級分類

接著我們為{電腦}添加幾個個子分類
復制代碼 代碼如下:
INSERT INTO `type` (`id`, `fid`, `name`) VALUES (NULL, '2', '臺式'), (NULL, '2', '筆記本');

這里fid=2,2這個id是分類{電腦}的id,如果是添加{鞋子}的子分類則fid=3
同理我們為{筆記本}添加子分類則fid=6
復制代碼 代碼如下:
INSERT INTO `type` (`id`, `fid`, `name`) VALUES (NULL, '6', 'ausu'), (NULL, '6', 'hp');

三、刪除
如果我們想刪除{筆記本}這個分類,很簡單
復制代碼 代碼如下:
DELETE FROM `type` WHERE `id`=6

{筆記本}的子分類我們也要記得做相應的處理
復制代碼 代碼如下:
function del($fid) {
    $sql="SELECT * FROM `type` WHERE `fid`=$fid";
    $rs=mysql_query($sql);

    for ($i = 0; $i < count($rs); $i++) {
        $sql="DELETE FROM `type` WHERE `id`={$rs[$i]['id']}";
        mysql_query($sql);

        del($rs['id']);//遞歸
    }
}
del(6);//執行操作

這里你也許你會疑惑為什么那么麻煩用遞歸,而不是直接這樣刪除
復制代碼 代碼如下:
DELETE FROM `type` WHERE `fid`=6

這樣我們不就可以直接刪除{ausu}、{hp}?但是假設{ausu}有一個子分類{a1},{a1}也有一個子分類{a2},如果不用遞歸我們就無法徹底刪除數據。

三、查找
1.查找{電腦}的子分類
復制代碼 代碼如下:
SELECT * FROM `type` WHERE `fid`=2

2.查找{電腦}的所有子分類
復制代碼 代碼如下:
function sel($fid) {
    $sql="SELECT * FROM `type` WHERE `fid`=$fid";
    $rs=mysql_query($sql);

    for ($i = 0; $i < count($rs); $i++) {
        echo $rs[$i]['name'];

        sel($rs[$i]['id']);//遞歸
    }
}
sel(2);

四、實際數據應用
在數據表添加一個字段`tid`,字段值為記錄所屬分類`type`表的id。必須是id不能是name,因為name的值可能會改變。
例如查詢屬于{電腦}分類的商品
復制代碼 代碼如下:
SELECT * FROM `goods` WHERE `tid`=2

注:代碼沒有運行過可能會有錯誤,但是思路是正確的,主要的是理解樹形結構,而不是記住代碼。

php技術基于php無限分類的深入理解,轉載需保留來源!

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

主站蜘蛛池模板: 男人私gay挠脚心vk视频 | 欧美牲交视频免费观看K8经典 | 艳照门在线观看 | 国产免费久久精品国产传媒 | 日韩欧美成人免费中文字幕 | 欧美精品AV无码一区二区 | 久草大 | 亚洲欧美中文字幕高清在线 | 色宅男看片午夜大片免费看 | 亚洲乱色视频在线观看 | 俄罗斯bbbb| 九色91精品国产网站 | 亚洲这里只有精品 | 幼儿交1300部一区二区 | 欧美片第1页 综合 | 婷婷开心激情综合五月天 | 色久久久综合88一本道 | 亚洲精品久久一区二区三区四区 | 啦啦啦 中文 中国 免费 高清在线 | 天美传媒在线观看完整高清 | 国产产一区二区三区久久毛片国语 | 神马影院午夜理论二 | 性夜夜春夜夜爽AA片A | 在线观看免费视频a | 国产原创剧情麻豆在线 | 青柠在线观看免费高清电视剧荣耀 | 9久久99久久久精品齐齐综合色圆 | 国产乱子影视频上线免费观看 | 色欲久久综合亚洲精品蜜桃 | 黄 色 网 站 免 费 涩涩屋 | 欧美123区| 亚洲精品国产在线网站 | 久久精品综合电影 | 国产精品免费大片 | 桃隐社区最新最快地址 | 97视频在线免费播放 | 中文字幕精品在线视频 | 偷拍亚洲色自拍 | 色欲AV精品人妻一区二区麻豆 | 国产午夜一级淫片 | 美女也烦恼主题曲 |