php实现面包屑导航例子分享

前端之家收集整理的这篇文章主要介绍了php实现面包屑导航例子分享前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本实例讲解了PHP实现面包屑导航的方法,面包屑导航在项目非常实用,在此处就写一个这方面的实现。

path表示所有的祖先id,fullpath表示所有的祖先id和本身id

sql;"> -- -- 表的结构 `tp_likecate` --

CREATE TABLE IF NOT EXISTS tp_likecate (
id int(10) unsigned NOT NULL AUTO_INCREMENT,catename varchar(24) NOT NULL,path varchar(10) NOT NULL,fullpath varchar(20) NOT NULL,PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;

数据

sql;"> -- -- 转存表中的数据 `tp_likecate` --

INSERT INTO tp_likecate (id,catename,path,fullpath) VALUES
(1,'手机','',',1'),(2,'功能手机','1','1,2'),(3,'老人手机',2','1,2,3'),(4,'儿童手机',2,4'),(5,'智能手机',5'),(6,'android手机',5',5,6'),(7,'IOS手机',7'),(8,'WinPhoto手机',8');

数据库连接:

PHP;">

函数

PHP;"> function likecate($path='') { // concat() 连接字段 $sql = "select id,catename,path,concat(path,id) as fullpath from tp_likecate order by fullpath asc"; $res = MysqL_query($sql); $result = array(); while($row=MysqL_fetch_assoc($res)) { $deep = count(explode(',trim($row['fullpath'],'))); // explode字符串转换为数组 implode数组转换为字符串 $row['catename'] = @str_repeat('',$deep).'|--'.$row['catename']; $result[] = $row; } return $result; }

输出

PHP;"> // 简单输出 $res = likecate();

echo "";
echo "
";

// 封装方法
function getPathCate($cateid) {
$sql = "select ,id) fullpath from tp_likecate where id = $cateid";
$res = MysqL_query($sql);
$row = MysqL_fetch_assoc($res);
$ids = $row['fullpath'];
$sql = "select
from tp_likecate where id in($ids) order by id asc";
$res = MysqL_query($sql);
$result = array();
while($row = MysqL_fetch_assoc($res)) {
$result[] = $row;
}
return $result;
}

// 加上链接的参数
function displayCatePath($cateid,$link='cate.PHP?cid=') { // 也可以组装
$res = getPathCate($cateid);
$str = '';
foreach($res as $k=>$v) {
$str.= "<a href='{$link}{$v['id']}'>{$v['catename']} > ";
}
return $str;
}
echo displayCatePath(4);

效果

PHP实现面包屑导航的详细步骤,希望对大家学习PHP程序设计有所帮助。

原文链接:https://www.f2er.com/php/20745.html

猜你在找的PHP相关文章