php 无限极分类

前端之家收集整理的这篇文章主要介绍了php 无限极分类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

<div class="codetitle"><a style="CURSOR: pointer" data="32377" class="copybut" id="copybut32377" onclick="doCopy('code32377')"> 代码如下:

<div class="codebody" id="code32377">
<?PHP
/========================================================
类名:catalog
功能:无限分级类
方法:
树形显示分类
catalog_show($id)//参数$id递归调用
流程:找到父分类为0所有根分类->一直递归取得所有分类显示
添加分类
catalog_add($uid,$name)//$uid父id//$name分类
流程:依据$uid,在此id下添加一个新子id
删除分类
catalog_del($uid)//参数$uid数要删除分类
修改分类
catalog_set($id,$name)//参数$id要修改分类//参数$name新的分类
变量:
$config//数据库信息->host,user,pass,dbname
$catalog_dbname//分类数据库
数据库:
catalog_id//分类的自然序号
catalog_uid//分类的父分类
catalog_name//分类
catalog_path_number//亲缘树数字形式0:1:2
catalog_path_char//亲缘树字符形式分类1:分类1.1:分类1.1.1
参照文章http://www.PHPchina.com/12823/viewspace_4468.html
========================================================
/
classcatalog{
var$config;
var$catalog_dbname;
var$links;
privatefunctionconnect(){
$this->links=MysqL_connect($this->config['host'],$this->config['user'],$this->config['pass'])ordie("错误:第".LINE."行
".MysqL_error());
MysqL_select_db($this->config['dbname'],$this->links);
MysqL_query("SETNAMESgb2312");
}
functioncatalog_show($uid=0){
$this->connect();
$sql="SelectFROM".$this->catalog_dbname."
Wherecatalog_uid=".$uid."
orDERBYcatalog_id";
$result=MysqL_query($sql,$this->links)ordie("错误:第".LINE."行
".MysqL_error());
if(MysqL_num_rows($result)>0){
while($row=MysqL_fetch_assoc($result)){
if($this->sun_catalog($row['catalog_id'])){//判断有没有子分类
$cata_img="<imgid='img".$row['catalog_id']."'src='./img/last_node.jpg'ōnclick='click_catalog(".$row['catalog_id'].")'/>";
}else{
$cata_img="<imgsrc='./img/sp.jpg'/>";
}
$path=explode(":",$row['catalog_path_number']);
if(count($path)>1){
for($i=1;$i<count($path);$i++){
$path_img.="<imgsrc='./img/sp.jpg'/>";
}
}
echo$path_img.$cata_img;
echo"<aclass='menu'href='javascrīpt:send_id(".$row['catalog_id'].")'>";
echo$row['catalog_name']."
";
$path_img="";
if($this->sun_catalog($row['catalog_id'])){
$hidden_div="style='display:none'";
echo"<divid='div".$row['catalog_id']."'".$hidden_div.">";
$this->catalog_show($row['catalog_id']);
echo"
";
}
}
}
}
privatefunctionsun_catalog($uid){//判断是否有子分类
$sql="Select
FROM".$this->catalog_dbname."
Wherecatalog_uid=".$uid."
orDERBYcatalog_id";
$result=MysqL_query($sql,$this->links)ordie("错误:第".LINE."行
".MysqL_error());
if(MysqL_num_rows($result)>0){
returntrue;
}else{
returnfalse;
}
}
functioncatalog_add($uid,$name){
//获取父id的亲缘树
$this->connect();
$sql="Select*FROM".$this->catalog_dbname."
Wherecatalog_id='".$uid."'";
$result=MysqL_query($sql,$this->links)
ordie("错误:第".LINE."行
".MysqL_error());
$row=MysqL_fetch_assoc($result);
$fid_path_number=$row['catalog_path_number'];//id的数字亲缘树
$fid_path_char=$row['catalog_path_char'];//id的字符亲缘树
//插入数据先插入行->再找到最新插入的id,在依据这个id进行修改
$sql="InsertINTO".$this->catalog_dbname."(catalog_uid,catalog_name)
VALUES(".$uid.",'".$name."')";
$result=MysqL_query($sql,$this->links)
ordie("错误:第".LINE."行
".MysqL_error());
$catalog_id=MysqL_insert_id();//获取自己的id
$catalog_path_number=$fid_path_number.":".$catalog_id;//得到自己的数字亲缘数
$catalog_path_char=$fid_path_char.":".$name;//得到自己的字符亲缘数
$sql="Update'".$this->catalog_dbname."'
SET
catalog_path_number='".$catalog_path_number."',
catalog_path_char='".$catalog_path_char."'
Where
catalog_id=".$catalog_id;
MysqL_query($sql,$this->links)
ordie("错误:第".LINE."行
".MysqL_error());
}
functioncatalog_del($id){
$this->connect();
$sql="DeleteFROM".$this->catalog_dbname."
Wherecatalog_id=".$id;
MysqL_query($sql,$this->links)
ordie("错误:第".LINE."行
".MysqL_error());
}
functioncatalog_set($id,$name){
$this->connect();
$sql="Update".$this->catalog_dbname."
SET
catalog_name='".$name."'
Where
catalog_id=".$id;
MysqL_query($sql,$this->links)
ordie("错误:第".LINE."行
".MysqL_error());
}
}
?>

猜你在找的PHP相关文章