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中使用sockets:从新闻组中获取文章
Oct 09 PHP
PHP操作mysql函数详解,mysql和php交互函数
May 19 PHP
php中is_null,empty,isset,unset 的区别详细介绍
Apr 28 PHP
MySql数据库查询结果用表格输出PHP代码示例
Mar 20 PHP
PHP生成随机字符串(3种方法)
Sep 25 PHP
[原创]php求圆周率的简单实现方法
May 30 PHP
php版微信公众平台入门教程之开发者认证的方法
Sep 26 PHP
浅析PHP中的闭包和匿名函数
Dec 25 PHP
PHP基于redis计数器类定义与用法示例
Feb 08 PHP
php使用fullcalendar日历插件详解
Mar 06 PHP
PHP模型Model类封装数据库操作示例
Mar 14 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
Nov 10 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
一个oracle+PHP的查询的例子
2006/10/09 PHP
如何使用PHP往windows中添加用户
2006/12/06 PHP
php下使用无限生命期Session的方法
2007/03/16 PHP
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
2009/10/15 PHP
PHP5.4中json_encode中文转码的变化小结
2013/01/30 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
Yii框架实现的验证码、登录及退出功能示例
2017/05/20 PHP
基于jQuery的倒计时插件代码
2011/05/07 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
Javascript 函数的四种调用模式
2016/11/05 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
vue路由传参页面刷新参数丢失问题解决方案
2019/10/08 Javascript
11个Javascript小技巧帮你提升代码质量(小结)
2020/12/28 Javascript
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
python批量复制图片到另一个文件夹
2018/09/17 Python
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
python三方库之requests的快速上手
2019/03/04 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
2020/02/03 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
python爬虫基础知识点整理
2020/06/02 Python
python如何提升爬虫效率
2020/09/27 Python
Coltorti Boutique官网:来自意大利的设计师品牌买手店
2018/11/09 全球购物
实习生个人找工作的自我评价
2013/10/30 职场文书
自荐信的两点禁忌
2013/10/30 职场文书
森林防火工作方案
2014/02/14 职场文书
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
区域销售主管岗位职责
2014/06/15 职场文书
学校清明节活动总结
2014/07/04 职场文书
课外访万家心得体会
2014/09/03 职场文书
2014年行政后勤工作总结
2014/12/06 职场文书
2014年教师业务工作总结
2014/12/19 职场文书
教师读书笔记
2015/06/29 职场文书
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
2021/06/21 Java/Android
关于MySQL中的 like操作符详情
2021/11/17 MySQL