PHP栏目导航类
时间:2007-02-17 来源: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的话请处理这个参数~,可以再加个|来切割一下了!~
?>
php爱好者站 http://www.phpfans.net PHP|MySQL|javascript|ajax|html.