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


Posted in PHP onDecember 19, 2015

本实例讲解了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实现面包屑导航的详细步骤,希望对大家学习php程序设计有所帮助。

PHP 相关文章推荐
PHP 图片上传实现代码 带详细注释
Apr 29 PHP
PHP操作数组相关函数
Feb 03 PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
Jul 03 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
Feb 21 PHP
php获取表单中多个同名input元素的值
Mar 20 PHP
php强制用户转向www域名的方法
Jun 19 PHP
Yii2.0高级框架数据库增删改查的一些操作
Nov 16 PHP
thinkPHP订单数字提醒功能的实现方法
Dec 01 PHP
详解Yii2.0 rules验证规则集合
Mar 21 PHP
PHP批量删除jQuery操作
Jul 23 PHP
微信JSSDK分享功能图文实例详解
Apr 08 PHP
在thinkphp5.0路径中实现去除index.php的方式
Oct 16 PHP
php实现倒计时效果
Dec 19 #PHP
Thinkphp实现自动验证和自动完成
Dec 19 #PHP
详解WordPress中过滤链接与过滤SQL语句的方法
Dec 18 #PHP
基于ThinkPHP实现批量删除
Dec 18 #PHP
thinkphp实现163、QQ邮箱收发邮件的方法
Dec 18 #PHP
WordPress中注册菜单与调用菜单的方法详解
Dec 18 #PHP
讲解WordPress开发中一些常用的debug技巧
Dec 18 #PHP
You might like
PHP5.0对象模型探索之抽象方法和抽象类
2006/09/05 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
2017/02/10 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
javascript window.opener的用法分析
2010/04/07 Javascript
基于jquery的lazy loader插件实现图片的延迟加载[简单使用]
2011/05/07 Javascript
TextArea不支持maxlength的解决办法(jquery)
2011/09/13 Javascript
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
关于JAVASCRIPT urldecode URL解码的问题
2012/01/08 Javascript
什么是DOM(Document Object Model)文档对象模型
2012/03/05 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
2015/03/21 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
Vue组件化通讯的实例代码
2017/06/23 Javascript
微信小程序中上传图片并进行压缩的实现代码
2018/08/28 Javascript
node.js使用express框架进行文件上传详解
2019/03/03 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
[26:21]浴火之凤-TI4世界冠军Newbee战队纪录片
2014/08/07 DOTA
python用来获得图片exif信息的库实例分析
2015/03/16 Python
Python进行数据提取的方法总结
2016/08/22 Python
python爬虫爬取网页表格数据
2018/03/07 Python
python程序封装为win32服务的方法
2021/03/07 Python
python日志logging模块使用方法分析
2019/05/23 Python
wxPython实现列表增删改查功能
2019/11/19 Python
python hash每次调用结果不同的原因
2019/11/21 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
12个不为大家熟知的HTML5设计小技巧
2016/06/02 HTML / CSS
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
新西兰网上购物,折扣店:BestDeals.co.nz
2019/03/20 全球购物
防灾减灾宣传标语
2014/10/07 职场文书
2019年行政人事个人工作总结范本!
2019/07/19 职场文书
Python将CSV文件转化为HTML文件的操作方法
2021/06/30 Python
前端框架ECharts dataset对数据可视化的高级管理
2022/12/24 Javascript