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