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 相关文章推荐
图书管理程序(二)
Oct 09 PHP
信用卡效验程序
Oct 09 PHP
模板引擎正则表达式调试小技巧
Jul 20 PHP
解析coreseek for sphinx的使用
Jun 21 PHP
phpmyadmin config.inc.php配置示例
Aug 27 PHP
php过滤HTML标签、属性等正则表达式汇总
Sep 22 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
Apr 03 PHP
PHP实现的多文件上传类及用法示例
May 06 PHP
php实现登录tplink WR882N获取IP和重启的方法
Jul 20 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
Jan 20 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
PHP asXML()函数讲解
Feb 03 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编程函数安全篇
2013/01/08 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
2016/05/31 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
CSS+JS构建的图片查看器
2006/07/22 Javascript
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
JavaScript 基础问答三
2008/12/03 Javascript
jQuery插件开发基础简单介绍
2013/01/07 Javascript
深入解析JavaScript中的变量作用域
2013/12/06 Javascript
js控制table合并具体实现
2014/02/20 Javascript
JS清空多文本框、文本域示例代码
2014/02/24 Javascript
删除javascript所创建子节点的方法
2015/05/21 Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
2016/05/19 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
JavaScript实现简单的文本逐字打印效果示例
2018/04/12 Javascript
webpack 样式加载的实现原理
2018/06/12 Javascript
用Node提供静态文件服务的方法
2018/07/06 Javascript
jQuery实现的别踩白块小游戏完整示例
2019/01/07 jQuery
Python通过websocket与js客户端通信示例分析
2014/06/25 Python
Python中itertools模块用法详解
2014/09/25 Python
一波神奇的Python语句、函数与方法的使用技巧总结
2015/12/08 Python
用Python写冒泡排序代码
2016/04/12 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
python openCV自制绘画板
2020/10/27 Python
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
毕业生求职简历的自我评价
2013/10/23 职场文书
工业学校毕业生自荐信范文
2014/01/03 职场文书
中学生校园广播稿
2014/01/16 职场文书
手工社团活动方案
2014/02/17 职场文书
亲子拓展活动方案
2014/02/20 职场文书
2014新课程改革心得体会
2014/03/10 职场文书
学习保证书范文
2014/04/30 职场文书
制冷与空调专业毕业生推荐信
2014/07/07 职场文书
迟到检讨书范文
2015/01/27 职场文书
学校食堂管理制度
2015/08/04 职场文书
Python爬虫:从m3u8文件里提取小视频的正确操作
2021/05/14 Python