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的话请处理这个参数~,可以再加个|来切割一下了!~ ?> phpfans.net收集整理 |