《PHP实战:php实现面包屑导航例子分享》要点:
本文介绍了PHP实战:php实现面包屑导航例子分享,希望对您有用。如果有疑问,可以联系我们。
PHP学习本实例讲解了php实现面包屑导航的办法,面包屑导航在项目非常实用,在此处就写一个这方面的实现.
PHP学习
PHP学习path表示所有的祖先id,fullpath表示所有的祖先id和本身id
PHP学习
--
-- 表的结构 `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 ;
PHP学习数据
PHP学习
--
-- 转存表中的数据 `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学习数据库连接:
PHP学习
<?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());
?>
PHP学习主函数:
PHP学习
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;
}
PHP学习输出:
PHP学习
// 简单输出
$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程序设计有所赞助.
欢迎参与《PHP实战:php实现面包屑导航例子分享》讨论,分享您的想法,维易PHP学院为您提供专业教程。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/8211.html