PHP成都培训中心官方网站
返回首页
当前位置: 主页 > 在线教学 >

一个无限级别分类

时间:2010-06-18 11:39来源:本站 作者:jiehong 点击:
?php class nolimit { function __construct() { } /** * print_list用于生成一个管理菜单,用于添加,删除子类 * * $ parents 父数组 * $subids 所有arr[父id] = 子id * $name 键与名子的对应arr[id]=$name * * $sql= 'selec
  <?php
class nolimit
{       
        function __construct()
        {
              
    }
   
    /**
     * print_list用于生成一个管理菜单,用于添加,删除子类
     *
     * $parents 父数组
     * $subids 所有arr[父id] => 子id
     * $name 键与名子的对应arr[id]=$name
     *
     * $sql= 'select * from new order by name DESC';
     * mysql_query('set names gbk');
     * $result = mysql_query($sql);
     * while($row = mysql_fetch_object($result)){
     * $subid[$row->parentid][] = $row->id;
     * $name[$row->id] = $row->name;}
     * print_list($subid[0],$subid,$name);
     *
     *   当其用于查找时,代码
     *   echo "<ul>";
     *   echo $name[$parentid];
     *   echo "<a href=\"classadd.php?parentid=$parentid\">[添加]</a>\n";
     *   echo "<a href=\"classdel.php?arentid=$parentid\">[删除]</a>\n";
     *   echo "<a href=\"find.php?parentid=$parentid\">[查找]</a></li>\n";
     *   print_list($subid[$parentid],$subid,$name);
     *   echo "</ul>";
     */
    function print_list($parents,$subids,$name,$indent=0){
        $list = '<tr>';
        if(is_array($parents))
        {
                foreach ($parents as $parent){
                     $list.= "<td><strong>".str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',$indent).$name[$parent]."</strong></td>";
                     $list.= "<td><a href=\"classadd.php?parentid=$parent\">[添加]</a>";
                     $list.= "<a href=\"classdel.php?parentid=$parent\">[删除]</a>";
                     $list.= "<a href=\"find.php?parentid=$parent\">[查找]</a></td></tr>";
                     if(array_key_exists($parent,$subids))
                                 {
                             $sublist=$this->print_list($subids[$parent],$subids,$name,$indent+1);
                             $list.=$sublist;
                     }
                }
        }
         //$list.= "</tr>\n";
         return $list;
     }
     
     /**
      * print_option用于生成选择列表
      *
      *$parents 同上
      * $subids 同上
      * $name   同上
      * $indent 用于控制缩进
      * print_option($subid[0],$subid,$name);
      */
     
     function print_option($parents,$subids,$name,$indent=0){
        foreach($parents as $parent ){
        $content.= "<option value='$parent'>".str_repeat('&nbsp;&nbsp;',$indent).$name[$parent]."</option>\n";
        if(key_exists($parent,$subids)){
            $subcontent=$this->print_option($subids[$parent],$subids,$name,$indent+1);
            $content.=$subcontent;
            }
        }
        return $content;
    }
     
    /**
      * getsubid用于得到一个父id下的所有id,主要是用于删除
      * $parentid=$_GET['parentid']
      * $a=getsubid($parentid,$subid);
      */

    function getsubid($parentid,$subids){
        $list.=$parentid;
        if(array_key_exists($parentid,$subids)){
         foreach ($subids[$parentid] as $parent) {
              $listsub=", ".$this->getsubid($parent,$subids);   
              $list.=$listsub;   
         }
        }
        return $list;
    }
   
    /**
     * listurl用于生成导航条
     * $sql="select * from new order by name";
     * mysql_query('set names gbk');
     * $result = mysql_query($sql);
     * while($row = mysql_fetch_object($result)){
     * $parents[$row->id] = $row->parentid;
     * $name[$row->id] = $row->name;}
     * $id=$_GET['id'];
     * $listurl=listurl($id,$parents,$name);
    */
     function listurl($id,$parent,$name){
         $tmp="<a href='find.php?parentid=$id'>$name[$id]</>";
        while($parent[$id]!=0){
             $id=$parent[$id];
             $tmp="<a href='find.php?parentid=$id'>$name[$id]</a>"."&rarr;".$tmp;
       }
       return $tmp;
}

}
?>
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
发布者资料
jiehong 查看详细资料 发送留言 加为好友 用户等级:高级会员 注册时间:2006-09-21 00:09 最后登录:2010-09-19 14:09
推荐内容