php实现面包屑导航例子分享
更新时间:2015年12月19日 14:44:41 投稿:lijiao
这篇文章主要为大家分享了php实现面包屑导航例子,感兴趣的小伙伴们可以参考一下
本实例讲解了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程序设计有所帮助。
相关文章
thinkphp文件处理类Dir.class.php的用法分析
这篇文章主要介绍了thinkphp文件处理类Dir.class.php的用法,以实例形式分析了基于文件处理类Dir.class.php的自定义函数del的使用,是非常实用的技巧,需要的朋友可以参考下2014-12-12php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
这篇文章主要介绍了php框架CI(codeigniter)自动加载与自主创建对象操作,结合实例形式分析了codeigniter框架自动加载与自主创建对象相关原理、实现方法与相关注意事项,需要的朋友可以参考下2020-06-06
最新评论