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 07 PHP
php array_map array_multisort 高效处理多维数组排序
Jun 11 PHP
php通过文件头检测文件类型通用代码类(zip,rar等)
Oct 19 PHP
php中对2个数组相加的函数
Jun 24 PHP
phpize的深入理解
Jun 03 PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 PHP
php实现URL加密解密的方法
Nov 17 PHP
PHP微信PC二维码登陆的实现思路
Jul 13 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
Mar 18 PHP
Laravel框架中集成MongoDB和使用详解
Oct 17 PHP
Yii 框架入口脚本示例分析
May 19 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
phpinfo 系统查看参数函数代码
2009/06/05 PHP
php函数之子字符串替换&amp;#65279; str_replace
2011/03/23 PHP
php自定义apk安装包实例
2014/10/20 PHP
php实现的css文件背景图片下载器代码
2014/11/11 PHP
js设置function参数默认值(适合没有传参情况)
2014/02/24 Javascript
Javascript 绘制 sin 曲线过程附图
2014/08/21 Javascript
如何判断微信内置浏览器(通过User Agent实现)
2014/09/01 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
vue elementui form表单验证的实现
2018/11/11 Javascript
koa大型web项目中使用路由装饰器的方法示例
2019/04/02 Javascript
Vue-CLI 项目在pycharm中配置方法
2019/08/30 Javascript
js实现列表向上无限滚动
2020/01/13 Javascript
Vue+elementUI实现多图片上传与回显功能(含回显后继续上传或删除)
2020/03/23 Javascript
JS实现百度搜索框
2021/02/25 Javascript
python解析模块(ConfigParser)使用方法
2013/12/10 Python
在Python中测试访问同一数据的竞争条件的方法
2015/04/23 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
Numpy中的mask的使用
2018/07/21 Python
使用django-guardian实现django-admin的行级权限控制的方法
2018/10/30 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
canvas实现飞机打怪兽射击小游戏的示例代码
2018/07/09 HTML / CSS
小女主人连衣裙:Little Mistress
2017/07/10 全球购物
美国最佳在线航班预订网站:LookupFare
2019/03/26 全球购物
医学生职业规划范文
2014/01/05 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
反腐倡廉演讲稿
2014/05/22 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
个人对照检查剖析材料
2014/10/13 职场文书
新生入学欢迎词
2015/01/26 职场文书
酒店财务部岗位职责
2015/04/14 职场文书
详解JS数组方法
2021/11/20 Javascript