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

基于php無(wú)限分類的深入理解

無(wú)限分類是實(shí)際開發(fā)中經(jīng)常用到的一種數(shù)據(jù)結(jié)構(gòu),一般我們稱之為樹形結(jié)構(gòu)。
題設(shè):類似淘寶的商品分類,可以在任意分類設(shè)置其子類。
 
一、創(chuàng)建`type`數(shù)據(jù)表
`id` 自增長(zhǎng)
`fid` int(11) 默認(rèn)(0) ,父節(jié)點(diǎn)id
`name` varchar(50),分類名稱
復(fù)制代碼 代碼如下:
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`)
)

二、添加
我們先添加幾個(gè)頂級(jí)分類
復(fù)制代碼 代碼如下:
INSERT INTO `type` (`id`, `fid`, `name`) VALUES (NULL, '0', '手機(jī)');
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是代表頂級(jí)分類

接著我們?yōu)閧電腦}添加幾個(gè)個(gè)子分類
復(fù)制代碼 代碼如下:
INSERT INTO `type` (`id`, `fid`, `name`) VALUES (NULL, '2', '臺(tái)式'), (NULL, '2', '筆記本');

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

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

{筆記本}的子分類我們也要記得做相應(yīng)的處理
復(fù)制代碼 代碼如下:
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);//執(zhí)行操作

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

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

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

2.查找{電腦}的所有子分類
復(fù)制代碼 代碼如下:
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);

四、實(shí)際數(shù)據(jù)應(yīng)用
在數(shù)據(jù)表添加一個(gè)字段`tid`,字段值為記錄所屬分類`type`表的id。必須是id不能是name,因?yàn)閚ame的值可能會(huì)改變。
例如查詢屬于{電腦}分類的商品
復(fù)制代碼 代碼如下:
SELECT * FROM `goods` WHERE `tid`=2

注:代碼沒有運(yùn)行過(guò)可能會(huì)有錯(cuò)誤,但是思路是正確的,主要的是理解樹形結(jié)構(gòu),而不是記住代碼。

php技術(shù)基于php無(wú)限分類的深入理解,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 色欲久久精品AV无码 | 前后灌满白浆护士 | 1300部真实小Y女视频合集 | 亚洲AV无码偷拍在线观看 | 野花日本韩国视频免费高清观看 | 中国老太太xxx | 激情午夜307 | 国产在线观看91精品 | 毛篇片在线观看 | 成人亚洲视频在线观看 | 免费网站在线观看国产v片 免费完整版观看 | 久久天天婷婷五月俺也去 | 小货SAO边洗澡边CAO你动漫 | 成人免费视频一区 | 麻豆精品一卡2卡三卡4卡免费观看 | 国产麻豆AV伦 | 日韩精品一区二区三区色欲AV | 香蕉在线播放 | 欧美日韩永久久一区二区三区 | 欧美精品高潮呻吟AV久久 | 天天躁日日躁狠狠躁中文字幕老牛 | 日本后进式猛烈xx00动态图 | 狼人射综合 | 各种肉黄浪荡故事集 | 麻豆国产96在线日韩麻豆 | 被强J高H纯肉公交车啊 | 日本免费一区二区三区最新vr | 一本道mw高清码二区三区 | 久久国产精品永久网站 | 午夜AV亚洲一码二中文字幕青青 | 国产免费毛片在线观看 | 国产嫩草在线观看 | 99成人在线视频 | 成年人免费观看视频网站 | 麻美ゆま夫の目の前で犯 | 国产精自产拍久久久久久蜜 | 夜色福利院在线看 | 一边捏奶头一边啪高潮会怎么样 | 黑人干日本美女 | 国语92电影网午夜福利 | 暗卫受被肉到失禁各种PLAY |