php实现面包屑导航例子分享
发布时间:2020-12-13 04:05:59 所属栏目:PHP教程 来源:网络整理
导读:《PHP实战:php实现面包屑导航例子分享》要点: 本文介绍了PHP实战:php实现面包屑导航例子分享,希望对您有用。如果有疑问,可以联系我们。 PHP学习 本实例讲解了php实现面包屑导航的办法,面包屑导航在项目非常实用,在此处就写一个这方面的实现. path表示所
《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为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |