• 技术文章 >php教程 >php手册

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

    2016-06-13 08:48:52原创891

    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 "";
    echo "
    "; // 封装方法 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.= "{$v['catename']} > "; } return $str; } echo displayCatePath(4);

    效果:

    以上就是php实现面包屑导航的详细步骤,希望对大家学习php程序设计有所帮助。

    您可能感兴趣的文章:

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 面包屑导航
    上一篇:Yii快速入门经典教程,yii快速入门教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 我的论坛源代码(五)• php 树型结构操作类代码(1/4)• PHP 页面跳转到另一个页面的多种方法方法总结• 使用PHP4.2.0及以后版本的注意事项• 谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
    1/1

    PHP中文网