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 相关文章推荐
常用表单验证类,有了这个,一般的验证就都齐了。
Dec 06 PHP
php5 apache 2.2 webservice 创建与配置(java)
Jan 27 PHP
逆序二维数组插入一元素的php代码
Jun 08 PHP
PHP中Session引起的脚本阻塞问题解决办法
Apr 08 PHP
PHP遍历文件夹与文件类及处理类用法实例
Sep 23 PHP
分享一则PHP定义函数代码
Feb 26 PHP
php中删除数组的第一个元素和最后一个元素的函数
Mar 07 PHP
推荐十款免费 WordPress 插件
Mar 24 PHP
PHP生成随机字符串(3种方法)
Sep 25 PHP
Zend Framework数据库操作技巧总结
Feb 18 PHP
PHP缓存工具XCache安装与使用方法详解
Apr 09 PHP
PHP常用函数之格式化时间操作示例
Oct 21 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
PHP在线书签系统分享
2016/01/04 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
初窥JQuery(二)事件机制(2)
2010/12/06 Javascript
jquery在IE、FF浏览器的差别详细探讨
2013/04/28 Javascript
JavaScript也谈内存优化
2014/06/06 Javascript
js中的事件捕捉模型与冒泡模型实例分析
2015/01/10 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
在javascript中使用com组件的简单实现方法
2016/08/17 Javascript
yarn的使用与升级Node.js的方法详解
2017/06/04 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
react-router browserHistory刷新页面404问题解决方法
2017/12/29 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
2019/05/10 Javascript
基于Element的组件改造的树形选择器(树形下拉框)
2020/02/27 Javascript
JS中FormData类实现文件上传
2020/03/27 Javascript
python计算圆周率pi的方法
2015/07/11 Python
Python yield 使用方法浅析
2017/05/20 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
python树莓派红外反射传感器
2019/01/21 Python
Django之使用内置函数和celery发邮件的方法示例
2019/09/16 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
基于python实现检索标记敏感词并输出
2020/05/07 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
英国时尚服饰电商:Boohoo
2017/10/12 全球购物
文史专业毕业生自荐信
2013/11/17 职场文书
酒店销售经理岗位职责
2014/01/31 职场文书
《云雀的心愿》教学反思
2014/02/25 职场文书
销售顾问工作计划书
2014/09/15 职场文书
乡镇组织委员个人整改措施
2014/09/16 职场文书
关于安全的广播稿
2014/10/23 职场文书
工程部岗位职责范本
2015/04/11 职场文书
2019年最新借条范本!
2019/07/08 职场文书
python3.7.2 tkinter entry框限定输入数字的操作
2021/05/22 Python
anaconda python3.8安装后降级
2021/06/11 Python