PHP栏目导航类

发表于:2007-07-14来源:作者:点击数: 标签:
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
    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的话请处理这个参数~,可以再加个|来切割一下了!~
?>

原文转自:http://www.ltesting.net