澳门正规赌博十大网站-澳门游戏网站
做最好的网站

php实现无限级分类实现代码,无限级分类

您可能感兴趣的文章:

  • php实现无限级分类(递归方法)
  • php 无限级分类,超级简单的无限级分类,支持输出树状图
  • php实现无限级分类
  • php实现无限级分类查询(递归、非递归)
  • ThinkPHP无限级分类原理实现留言与回复功能实例
  • php实现无限级分类实现代码,无限级分类。php mysql实现无限级分类 | 树型显示分类关系
  • ThinkPHP自动填充实现无限级分类的方法
  • PHP实现递归无限级分类
  • php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
  • PHPTree——php快速生成无限级分类

首先要设计数据库教程,需要建一个表,里面存储分类信息,至少需要3个字段,第一个是主键(id),第二个是父级分类id(parentid),第三个是分类的名称(classname)。可能的一种效果是:
php实现无限级分类实现代码,无限级分类。id  parentid  classname
1    0          一级分类a
2    0          一级分类b
3    1          二级分类a
4    1          二级分类b
主要思路:首先看第三行和第四行,父类id(parentid)的值是1,表示属于id=1这个类的子类,而,一,二两行因为是一级分类,没有上级分类,所以父类id(parentid)的值是0,表示初级分类,依次类推便实现了无限级分类。最终的效果是:
级分类a
二级分类a
二级分类b
级分类b
然后就是程序,这里以php实现无限级分类实现代码,无限级分类。php教程作为描述语言,可以很方便的改成其他语言,因为原理相似,就是一个递归而已。

6       4           分类1-2-1       ,1,4,6,

这次偷懒,我只用一个页面,好在代码不长,全部代码用类封装的(不是必要,而是自己也想熟悉一下OO,呵呵!),来看看页面代码:

复制代码 代码如下:

<?php

/**************************************php实现无限级分类实现代码,无限级分类。

  页面:menu.php
  作者:辉老大
  功能:定义数据库操作及生成菜单列表类

**************************************/
class menu{

       //创建构造函数,作用:数据库连接并选择相应数据库
       public function __construct(){
           $dbhost     = "localhost";
           $dbuser     = "root";
           $dbpassword = "7529639";
php实现无限级分类实现代码,无限级分类。           $dbname     = "menu";
           mysql_connect($dbhost,$dbuser,$dbpassword) or die("error!");
           mysql_query("SET NAMES 'GBK'");
           mysql_select_db($dbname);
       }

       //执行SQL语句函数
       private function query($sql){
           return mysql_query($sql);
       }

       //取得结果集数组函数
       private function loop_query($result){
           return mysql_fetch_array($result);
       }
       //列出菜单列表函数
       public function menulist(){
           $sql="select * from list order by path";
           $result=$this->query($sql);
            while($rows=$this->loop_query($result)){
             if(substr_count($rows['path'],',')>2){
               for($i=0;$i<(substr_count($rows['path'],',')-2);$i )
               echo ' ';
              }
             echo $rows['name'].'<br>';
            }
       }

       //创建析构函数,作用:关闭数据库连接
       public function __destruct(){
           return mysql_close();
       }
   }
  $db=new menu();//生成实例
  $db->menulist();//调用方法生成菜单
?> 

图片 1

这样递归方法,对于大量的子栏目是个负担,一些成熟的cms系统。都是生产数组方便调用,也能大幅的提高效率。

<?php
$dbhost = "localhost";   // 数据库主机名
$dbuser = "root";   // 数据库用户名
$dbpd = "123456";   // 数据库密码
$dbname = "test";   // 数据库名
mysql教程_connect($dbhost,$dbuser,$dbpd);       //连接主机
mysql_select_db($dbname);       //选择数据库
mysql_query("set names 'utf8'");
display_tree("├",0);
function display_tree($tag,$classid) {
    $result = mysql_query("
        select *
        from ylmf_class
        where parentid = '" . $classid . "'
        ;"
    );
    while ($row = mysql_fetch_array($result)) {
        // 缩进显示节点名称
  echo $tag.$row['classname'] . "<br/>";
        //再次调用这个函数显示子节点的子节点
  display_tree($tag."─┴",$row['id']);
    }
}
?>

数据库字段大概如下:

id              编号
fid             父分类编号
name         分类名

本文由澳门正规赌博十大网站发布于澳门游戏网站,转载请注明出处:php实现无限级分类实现代码,无限级分类