【www.gdgbn.com--系统相关】

这是类
/*========================================================
类名: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]http://www.111cn.net/12823/viewspace_4468.html[/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__."行
".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__."行
".mysql_error());
               
                if(mysql_num_rows($result) > 0){
                        while ($row = mysql_fetch_assoc($result)){       
                                if($this->sun_catalog($row["catalog_id"])){//判断有没有子分类
                                        $cata_img = "";
                                }else{
                                        $cata_img = "";
                                }
               
                                $path = explode(":",$row["catalog_path_number"]);
                                if(count($path) > 1){
                                        for($i=1;$i                                                 $path_img .= "";
                                        }
                                }
                                echo $path_img.$cata_img;
                                echo "";
                                echo $row["catalog_name"]."
";
                                $path_img = "";
                                if($this->sun_catalog($row["catalog_id"])){                                       
                                        $hidden_div  = "style="display:none"";                                               
                                        echo "";                                       
                                        $this->catalog_show($row["catalog_id"]);
                                        echo "";
                                }                                               
                        }
                }               
        }
        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__."行
".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__."行
".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__."行
".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__."行
".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__."行
".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__."行
".mysql_error());
               
        }
       
       
}
?>

本文来源:http://www.gdgbn.com/aspjiaocheng/10527/