时间:2021-05-26
本实例讲解了php实现面包屑导航的方法,面包屑导航在项目非常实用,在此处就写一个这方面的实现。
path表示所有的祖先id,fullpath表示所有的祖先id和本身id
---- 表的结构 `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 ;数据
---- 转存表中的数据 `tp_likecate`--INSERT INTO `tp_likecate` (`id`, `catename`, `path`, `fullpath`) VALUES(1, '手机', '', ',1'),(2, '功能手机', '1', '1,2'),(3, '老人手机', '1,2', '1,2,3'),(4, '儿童手机', '1,2', '1,2,4'),(5, '智能手机', '1', '1,5'),(6, 'android手机', '1,5', '1,5,6'),(7, 'IOS手机', '1,5', '1,5,7'),(8, 'WinPhoto手机', '1,5', '1,5,8');数据库连接:
<?php $db_host = 'localhost';$db_user = 'root';$db_password = '';$db_name = 'test';$con = mysql_connect($db_host, $db_user, $db_password) or die(mysql_error());mysql_select_db($db_name, $con) or die(mysql_error());mysql_query('set names utf8') or die(mysql_error());?>主函数:
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;}输出:
// 简单输出$res = likecate();echo "<select name='cate'>";foreach($res as $key=>$val) { echo "<option>{$val['catename']}</option>";}echo "</select>";echo "<br />";// 封装方法function getPathCate($cateid) { $sql = "select *,concat(path, ',',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']}</a> > "; } return $str;}echo displayCatePath(4);效果:
以上就是php实现面包屑导航的详细步骤,希望对大家学习php程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
大家可能都见过面包屑导航,可以面包屑导航是怎么实现的呢?很多人可能都不知道,其实添加面包屑导航就是添加一些富文本标记,让搜索引擎知道这个东西是面包屑导航。下面就
组件—面包屑什么是面包屑导航一般页面内容上方都会有一个路径导航,这个导航就是面包屑导航。例如:上面这个图表示我们当前的页面是Breadcrumb面包屑,上一级目
【常用面包屑】9种不同的面包屑和分布式多步骤导航实例代码9种不同的面包屑和分布式多步骤导航1、基本面包屑首页jQueryPHP模板2、自定义分隔符面包屑首页jQ
面包屑导航这个概念大家可以百度一下,面包屑导航的作用是告诉用户目前所在网站中的位置,并告诉用户如何返回。面包屑导航是给用户指路的最好方法,通常使用面包屑导航的网
一、面包屑导航优化面包屑的名字来源于Hansel和Gretel的故事,他们在沿途播撒面包屑以用来找到加家的路,面包屑导航可以很清楚的告诉用户在网站的位置。对用户