課程
/后端開(kāi)發(fā)
/PHP
/PHP無(wú)限級(jí)分類技術(shù)
老師講得好,缺少源碼和筆記,還有添加和刪除,我想下載來(lái),好好研究學(xué)習(xí)
2015-12-07
源自:PHP無(wú)限級(jí)分類技術(shù) 7-1
正在回答
只認(rèn)真的學(xué)習(xí)著python,比較不出來(lái)其實(shí)只需要創(chuàng)建一個(gè)emptyproject,然后往項(xiàng)目中添加html文件,css文件或者js文件就好了。
親,是的這個(gè)是xhtml的標(biāo)準(zhǔn)寫(xiě)法,我們的是html標(biāo)準(zhǔn),我們會(huì)在后面加一小節(jié)說(shuō)明一個(gè)兩者的區(qū)別是不是因為bottom單詞拼錯(cuò)了呢?
//連接數(shù)據(jù)庫(kù)
$db_host='localhost';
$db_user="root";
$db_password="";
$db_name="imooc";
$link=mysql_connect($db_host,$db_user,$db_password) or die(mysql_error());
mysql_select_db($db_name,$link);
mysql_query("set names utf8") or die("編碼設(shè)置錯(cuò)誤!");
# php無(wú)限分類下拉列表的 ?數(shù)據(jù)庫(kù)創(chuàng)建
//在數(shù)據(jù)庫(kù)imooc下 創(chuàng)建表 deepcate
create table deepcate
(
id int(10) unsigned not null ?auto_increment primary key,
pid int(11) unsigned not null,
catename varchar(30) not null,
cateorder int(11) unsigned default 0,
createtime int(10) not null
);
insert into deepcate(pid,catename,cateorder,createtime)values(0,'新聞',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(0,'圖片',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(1,'國(guó)內(nèi)新聞',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(1,'國(guó)際新聞',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(3,'北京新聞',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(4,'美國(guó)新聞',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(2,'美女圖片',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(2,'風(fēng)景圖片',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(7,'日韓明星',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(9,'日本AV',0,0);
select * from deepcate;
<?php
header("Content-Type:text/html;Charset=UTF-8");
//?php無(wú)限分類下拉列表的代碼實(shí)現(xiàn)
include_once('db.inc.php') ;
function getList($pid=0,&$result=array(),$spac=0)
{
? ? $spac=$spac+2;
? ? $sql=" SELECT * FROM deepcate WHERE pid=$pid ";
? ? $res=mysql_query($sql);
? ?
? ? while($row=mysql_fetch_assoc($res)){
? ? ? ? $row['catename']=str_repeat(' ',$spac).'|--'.$row['catename'];
? ? ? ? $result[]=$row;
? ? ? ? getList($row['id'],$result,$spac);
? ? }
? ? return $result;
}
function displayCate($pid=0,$selected=0){
? ? ?$rs=getList($pid);
? ? ?$str="";
? ? ?$str.="<select name='cate'>";
? ? foreach($rs as $v){
? ? ? ? if($v['id']==$selected){
? ? ? ? ? ? $selected="selected";
? ? ? ? }
? ? ? ?$str.="<option {$selected}>";
? ? ? ?$str.= $v['catename'];
? ? ? ?$str.= "</option>";
? ? return $str.= "</select>";
echo displayCate();
echo "<hr/><hr/>";
function getCatePath($cid,&$result){
? ? $sql="SELECT * FROM deepcate WHERE id=$cid ";
? ? $rs=mysql_query($sql);
? ? $row=mysql_fetch_assoc($rs);
? ? if($row){
? ? ? ? getCatePath($row['pid'],$result);
? ? krsort($result);
function displayCatePath($cid,$url="deepcate.php?cid="){
? ? $res=getCatePath($cid,$result);
? ? $str="";
? ? foreach($res as $v){
? ? ? ? $str.= "<a href='{$url}{$v['id']}'>{$v['catename']}</a>>>";
? ? }return $str;
echo displayCatePath(10);
#在數(shù)據(jù)庫(kù)imooc下創(chuàng)建表likecate
#遞歸無(wú)限分類原理 數(shù)據(jù)庫(kù)創(chuàng)建
use imooc;
create table likecate
id int(11) not null ?auto_increment primary key,
path varchar(200) not null,
cateorder int(11) not null default 0,
createtime int(11) not null
insert into likecate(path,catename,cateorder,createtime)values('','手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1','功能手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1,2','老人手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1,2','兒童手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1','智能手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1,5','andriod手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1,5','ios手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1,5','winphoto手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1,2,4','色盲手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1,2,3','大字手機(jī)',0,0);
select * from likecate;
select id,catename,path,concat(path,',',id) as fullpath from likecate where 1 order by fullpath asc;
#結(jié)果顯示如圖
+----+--------------+-------+----------+
| id | catename ? ? | path ?| fullpath |
| ?1 | 手機(jī) ? ? ? ? | ? ? ? | ,1 ? ? ? |
| ?2 | 功能手機(jī) ? ? | 1 ? ? | 1,2 ? ? ?|
| ?3 | 老人手機(jī) ? ? | 1,2 ? | 1,2,3 ? ?|
| 10 | 大字手機(jī) ? ? | 1,2,3 | 1,2,3,10 |
| ?4 | 兒童手機(jī) ? ? | 1,2 ? | 1,2,4 ? ?|
| ?9 | 色盲手機(jī) ? ? | 1,2,4 | 1,2,4,9 ?|
| ?5 | 智能手機(jī) ? ? | 1 ? ? | 1,5 ? ? ?|
| ?6 | andriod手機(jī) ?| 1,5 ? | 1,5,6 ? ?|
| ?7 | ios手機(jī) ? ? ?| 1,5 ? | 1,5,7 ? ?|
| ?8 | winphoto手機(jī) | 1,5 ? | 1,5,8 ? ?|
<?php header("Content-Type:text/html;Charset=UTF-8"); //遞歸無(wú)限分類原理 include_once?('db.inc.php'); function?likecate(){ ????$sql="select?id,catename,path,concat(path,',',id)?as?fullpath?from?likecate?where?1?order?by?fullpath?asc"; ????$res=mysql_query($sql); ????$result=array(); ????while($row=mysql_fetch_assoc($res)){ ????????$deep=count(explode(',',trim($row['fullpath'],','))); ???????? ????????$row['catename']=str_repeat(' ',$deep*4).'|--'.$row['catename']; ????????$result[]=$row; ????} ????return?$result; } $res=likecate(); echo?"<select?name='cate'>"; foreach($res?as?$v){ ????echo?"<option>{$v['catename']}</option>"; } echo?"</select>"; echo?"<hr/><hr/>"; function?getPathCate($cateid){ ????$sql="select?*,concat(path,',',id)fullpath?from?likecate?where?id=$cateid"; ????$res=mysql_query($sql); ????$row=mysql_fetch_assoc($res); ????$ids=$row['fullpath']; ????$sql="select?*?from?likecate?where?id?in($ids)?order?by?id?asc"; ????$res=mysql_query($sql); ????$result=array(); ????while($row=mysql_fetch_assoc($res)){ ????????$result[]=$row; ????} ????return?$result; } function?displayCatePath($cateid,$link='likecate.php?cid='){ ????$res=getPathCate($cateid); ????$str=""; ????foreach($res?as?$v){ ????????$str.="<a?href='{$link}'>{$v['catename']}</a>>"; ????} ????return?$str; }?? echo?displayCatePath(4,'likecate.php?p=1&cid=');
舉報(bào)
經(jīng)典的遞歸實(shí)現(xiàn)和全路徑實(shí)現(xiàn)兩種方式實(shí)現(xiàn)無(wú)限分類
3 回答請(qǐng)問(wèn)老師,什么時(shí)候能展示下分類和子分類的添加 修改 刪除,謝謝
1 回答建議多點(diǎn)講解
1 回答老師記得將代碼傳上來(lái)啊
1 回答有源碼下載嗎
3 回答請(qǐng)問(wèn)老師 無(wú)限分類和 全路徑無(wú)限分類 有什么區(qū)別啊
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2022-03-25
只認(rèn)真的學(xué)習(xí)著python,比較不出來(lái)其實(shí)只需要創(chuàng)建一個(gè)emptyproject,然后往項(xiàng)目中添加html文件,css文件或者js文件就好了。
2022-03-25
親,是的這個(gè)是xhtml的標(biāo)準(zhǔn)寫(xiě)法,我們的是html標(biāo)準(zhǔn),我們會(huì)在后面加一小節(jié)說(shuō)明一個(gè)兩者的區(qū)別是不是因為bottom單詞拼錯(cuò)了呢?
2016-04-10
//連接數(shù)據(jù)庫(kù)
$db_host='localhost';
$db_user="root";
$db_password="";
$db_name="imooc";
$link=mysql_connect($db_host,$db_user,$db_password) or die(mysql_error());
mysql_select_db($db_name,$link);
mysql_query("set names utf8") or die("編碼設(shè)置錯(cuò)誤!");
2016-04-10
# php無(wú)限分類下拉列表的 ?數(shù)據(jù)庫(kù)創(chuàng)建
//在數(shù)據(jù)庫(kù)imooc下 創(chuàng)建表 deepcate
create table deepcate
(
id int(10) unsigned not null ?auto_increment primary key,
pid int(11) unsigned not null,
catename varchar(30) not null,
cateorder int(11) unsigned default 0,
createtime int(10) not null
);
insert into deepcate(pid,catename,cateorder,createtime)values(0,'新聞',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(0,'圖片',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(1,'國(guó)內(nèi)新聞',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(1,'國(guó)際新聞',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(3,'北京新聞',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(4,'美國(guó)新聞',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(2,'美女圖片',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(2,'風(fēng)景圖片',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(7,'日韓明星',0,0);
insert into deepcate(pid,catename,cateorder,createtime)values(9,'日本AV',0,0);
select * from deepcate;
2016-04-10
<?php
header("Content-Type:text/html;Charset=UTF-8");
//?php無(wú)限分類下拉列表的代碼實(shí)現(xiàn)
include_once('db.inc.php') ;
function getList($pid=0,&$result=array(),$spac=0)
{
? ? $spac=$spac+2;
? ? $sql=" SELECT * FROM deepcate WHERE pid=$pid ";
? ? $res=mysql_query($sql);
? ?
? ? while($row=mysql_fetch_assoc($res)){
? ? ? ? $row['catename']=str_repeat(' ',$spac).'|--'.$row['catename'];
? ? ? ? $result[]=$row;
? ? ? ? getList($row['id'],$result,$spac);
? ? }
? ? return $result;
}
function displayCate($pid=0,$selected=0){
? ? ?$rs=getList($pid);
? ? ?$str="";
? ? ?$str.="<select name='cate'>";
? ? foreach($rs as $v){
? ? ? ? if($v['id']==$selected){
? ? ? ? ? ? $selected="selected";
? ? ? ? }
? ? ? ?$str.="<option {$selected}>";
? ? ? ?$str.= $v['catename'];
? ? ? ?$str.= "</option>";
? ? }
? ? return $str.= "</select>";
}
echo displayCate();
echo "<hr/><hr/>";
function getCatePath($cid,&$result){
? ? $sql="SELECT * FROM deepcate WHERE id=$cid ";
? ? $rs=mysql_query($sql);
? ? $row=mysql_fetch_assoc($rs);
? ? if($row){
? ? ? ? $result[]=$row;
? ? ? ? getCatePath($row['pid'],$result);
? ? }
? ? krsort($result);
? ? return $result;
}
function displayCatePath($cid,$url="deepcate.php?cid="){
? ? $res=getCatePath($cid,$result);
? ? $str="";
? ? foreach($res as $v){
? ? ? ? $str.= "<a href='{$url}{$v['id']}'>{$v['catename']}</a>>>";
? ? }return $str;
}
echo displayCatePath(10);
2016-04-10
#在數(shù)據(jù)庫(kù)imooc下創(chuàng)建表likecate
#遞歸無(wú)限分類原理 數(shù)據(jù)庫(kù)創(chuàng)建
use imooc;
create table likecate
(
id int(11) not null ?auto_increment primary key,
path varchar(200) not null,
catename varchar(30) not null,
cateorder int(11) not null default 0,
createtime int(11) not null
);
insert into likecate(path,catename,cateorder,createtime)values('','手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1','功能手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1,2','老人手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1,2','兒童手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1','智能手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1,5','andriod手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1,5','ios手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1,5','winphoto手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1,2,4','色盲手機(jī)',0,0);
insert into likecate(path,catename,cateorder,createtime)values('1,2,3','大字手機(jī)',0,0);
select * from likecate;
select id,catename,path,concat(path,',',id) as fullpath from likecate where 1 order by fullpath asc;
#結(jié)果顯示如圖
+----+--------------+-------+----------+
| id | catename ? ? | path ?| fullpath |
+----+--------------+-------+----------+
| ?1 | 手機(jī) ? ? ? ? | ? ? ? | ,1 ? ? ? |
| ?2 | 功能手機(jī) ? ? | 1 ? ? | 1,2 ? ? ?|
| ?3 | 老人手機(jī) ? ? | 1,2 ? | 1,2,3 ? ?|
| 10 | 大字手機(jī) ? ? | 1,2,3 | 1,2,3,10 |
| ?4 | 兒童手機(jī) ? ? | 1,2 ? | 1,2,4 ? ?|
| ?9 | 色盲手機(jī) ? ? | 1,2,4 | 1,2,4,9 ?|
| ?5 | 智能手機(jī) ? ? | 1 ? ? | 1,5 ? ? ?|
| ?6 | andriod手機(jī) ?| 1,5 ? | 1,5,6 ? ?|
| ?7 | ios手機(jī) ? ? ?| 1,5 ? | 1,5,7 ? ?|
| ?8 | winphoto手機(jī) | 1,5 ? | 1,5,8 ? ?|
+----+--------------+-------+----------+
2016-04-10