以下为引用的内容: catalog_id //分类的自然序号 catalog_uid //分类的父分类 catalog_name //分类名 catalog_path_number //亲缘树数字形式 0:1:2 catalog_path_char //亲缘树字符形式 分类1:分类1.1:分类1.1.1 ========================================================*/ 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' ōnclick='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 = 'javascrīpt: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()); } } ?> [/CODE] |