无限分类的文章

复制代码 代码如下:

这是类
<?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
参照文章
[url]]
========================================================*/
class catalog{
        var $config;
        var $catalog_dbname;
        var $links;
        private function connect(){
                $this->links =
mysql_connect($this->config[‘host’],$this->config[‘user’],$this->config[‘pass’])
or die(“错误: 第”.__LINE__.”行<br>”.mysql_error());
               
mysql_select_db($this->config[‘dbname’],$this->links);
                mysql_query(“SET NAMES gb2312”);
        }
       
        function catalog_show($uid = 0){
                $this->connect();
                $sql = “SELECT * FROM “.$this->catalog_dbname. “
                                        WHERE catalog_uid = “. $uid
.”
                                                 ORDER BY catalog_id
“;
                $result = mysql_query($sql,$this->links) or
die(“错误: 第”.__LINE__.”行<br>”.mysql_error());
               
                if(mysql_num_rows($result) > 0){
                        while ($row = mysql_fetch_assoc($result)){   
   
                               
if($this->sun_catalog($row[‘catalog_id’])){//判断有没有子分类
                                        $cata_img = “<img id =
‘img”.$row[‘catalog_id’].”‘ src=’./img/last_node.jpg’
onclick=’click_catalog(“.$row[‘catalog_id’].”)’/>”;
                                }else{
                                        $cata_img = “<img
src=’./img/sp.jpg’/>”;
                                }
               
                                $path =
explode(“:”,$row[‘catalog_path_number’]);
                                if(count($path) > 1){
                                       
for($i=1;$i<count($path);$i++){
                                                $path_img .= “<img
src=’./img/sp.jpg’/>”;
                                        }
                                }
                                echo $path_img.$cata_img;
                                echo “<a class=’menu’ href =
‘javascript:send_id(“.$row[‘catalog_id’].”)’>”;
                                echo
$row[‘catalog_name’].”</a><br>”;
                                $path_img = “”;
                               
if($this->sun_catalog($row[‘catalog_id’])){                     
                 
                                        $hidden_div  =
“style=’display:none'”;                                               
                                        echo “<div id =
‘div”.$row[‘catalog_id’].”‘ “.$hidden_div.”>”;                   
                   
                                       
$this->catalog_show($row[‘catalog_id’]);
                                        echo “</div>”;
                                }                                       
       
                        }
                }               
        }
        private function sun_catalog($uid){//判断是否有子分类
                $sql = “SELECT * FROM “.$this->catalog_dbname. “
                                        WHERE catalog_uid = “. $uid
.”
                                                 ORDER BY catalog_id
“;
                $result = mysql_query($sql,$this->links) or
die(“错误: 第”.__LINE__.”行<br>”.mysql_error());
                if(mysql_num_rows($result) > 0){
                        return true;
                }else{
                        return false;
                }
       
        }
        function catalog_add($uid,$name){
                //获取父id的亲缘树
                $this->connect();
                $sql = “SELECT * FROM “.$this->catalog_dbname.”
                                         WHERE catalog_id =
‘”.$uid.”‘”;
                $result = mysql_query($sql,$this->links)
                                                or die(“错误:
第”.__LINE__.”行<br>”.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 = “INSERT INTO
“.$this->catalog_dbname.”(catalog_uid,catalog_name)
                                        VALUES(“.$uid.”,'”.$name.”‘)”;
                $result = mysql_query($sql,$this->links)
                                                or die(“错误:
第”.__LINE__.”行<br>”.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)
                                or die(“错误:
第”.__LINE__.”行<br>”.mysql_error());       
                       
        }
       
        function catalog_del($id){
                $this->connect();
                $sql = “DELETE FROM “.$this->catalog_dbname.”
                                        WHERE catalog_id = “.$id;
                mysql_query($sql,$this->links)
                                or die(“错误:
第”.__LINE__.”行<br>”.mysql_error());
        }
        function catalog_set($id,$name){
                $this->connect();
                $sql = “UPDATE “.$this->catalog_dbname.”
                                        SET
                                                catalog_name =
‘”.$name.”‘
                                        WHERE
                                                catalog_id = “.$id;   
   
                mysql_query($sql,$this->links)
                                or die(“错误:
第”.__LINE__.”行<br>”.mysql_error());
               
        }
       
       
}
?>

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签:
网站地图xml地图