加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 04:05:59 所属栏目:PHP教程 来源:网络整理
导读:《PHP实战:php实现面包屑导航例子分享》要点: 本文介绍了PHP实战:php实现面包屑导航例子分享,希望对您有用。如果有疑问,可以联系我们。 PHP学习 本实例讲解了php实现面包屑导航的办法,面包屑导航在项目非常实用,在此处就写一个这方面的实现. path表示所

《PHP实战:php实现面包屑导航例子分享》要点:
本文介绍了PHP实战:php实现面包屑导航例子分享,希望对您有用。如果有疑问,可以联系我们。

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,'老人手机',2',2,3'),(4,'儿童手机',4'),(5,'智能手机',5'),(6,'android手机',5',5,6'),(7,'IOS手机',7'),(8,'WinPhoto手机',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 *,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实现面包屑导航例子分享》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读