| 网站镜像:电信 网通 | 加入收藏 | 设为首页

[原创]PHP栏目导航类

  •     function bars($code,$title,$url){
            $path    =    "";
            $msg    =    "缺少必须参数..";
            if(empty($code)){
                return $msg;
            }
            if($url[0]=="*"){
                $cl=substr($url,1,strlen($url));
            }else{
                $cl="a01";//默认链接的class--为了修改颜色
            }
            $sql=$this->getsql("select * from path where symbol='$code'");
            $path_="<a href=\"".$sql[0][url]."\" class=$cl>".$sql[0][title]."</a>";//当前目录与名称
            for($int_a=0;$int_a<$sql[0][level];$int_a++){
                $sql_=$this->getsql("select * from path where id='".$sql[0][vlevel]."'");
                $pathi[]="<a href=\"".$sql_[0][url]."\" class=$cl>".$sql_[0][title]."</a> → ";
                $sql[0][vlevel]=$sql_[0][vlevel];
                if($sql_[0][id]==$sql_[0][vlevel]){    
                    break;
                }
            }
            reset($pathi);
            sort($pathi);
            while(list($key,$values)=each($pathi)){
                $path.=$values;
            }
            $path.=$path_;
            if($title!="" && $url!=""){
                $path.=" → <a href=\"$url\">$title</a>";
            }
            return $path;
        }

    ————————————————————————————————
    以上为本人所使用的栏目导航类...(原创,非盗版!)
    ————————————————————————————————
    表格结构为:
    CREATE TABLE path (
      id int(8) unsigned NOT NULL auto_increment,
      symbol varchar(10) NOT NULL default 'a-1',
      level int(8) unsigned NOT NULL default '1',
      vlevel int(8) unsigned default '1',
      title varchar(50) NOT NULL default '',
      url varchar(100) NOT NULL default '/',
      PRIMARY KEY  (id),
      UNIQUE KEY id (id),
      KEY id_2 (id,symbol,level,vlevel)
    ) TYPE=MyISAM;

    ________________________________________________________

    说明,其中getsql的方法我就不贴出来了啊,主要是将记录返回

    调用的时候采用
    <?php
    $C = new classname;
    $C->bars("页面代码","当前传递参数","连接地址或class名");
    //演示一:$C-bars("a-1","","");//显示表中symbol为a-1的页面名称,eg.  首页
    //演示二:$C-bars("a-2","信息栏目","$PHP_SELF");//显示表中symbol为a-1的页面名称. eg. 首页 -> 信息咨询 -> 信息栏目
    //注意a-2对应的是[信息咨询]--均有链接...如果您定义了a 的一些伪属性,如果默认的为白色,则这里的颜色都为白色,如果您希望修改颜色可以这样

    //演示三:$C-bars("a-2","信息栏目","*newclassname");//显示表中symbol为a-1的页面名称. eg. 首页 -> 信息咨询 -> 信息栏目
    //则所有导航的链接均改为newclassname这个class属性了,如果您需要在最后仍然需要link的话请处理这个参数~,可以再加个|来切割一下了!~
    ?>