• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php无限极分类实现方法分析

    本文实例讲述了php无限极分类实现方法。分享给大家供大家参考,具体如下:

    今天给大家带来的是php的无限极分类技术,本人把无限极分类划分为两种。

    首先我把数据库表给大家看看,数据库是tasks,数据库表也是tasks

    第一种方法(数组法)

    这种方法其实是先把所有的数据查询出来,重点在于生成的二维数组

    ?php
      //分类方法
      function make_list($parent,$deep = 0){
        global $tasks;//申明全局变量
        global $strArr;//申明全局变量
        $qianzhui = str_repeat("nbsp;",$deep)."|--";
        foreach ($parent as $key => $value) {
          $strArr[] = $qianzhui.$value;
          if(isset($tasks[$key])){
            make_list($tasks[$key],++$deep);//递归调用函数
          }
        }
      }
      //数据库连接
      $dbc = mysqli_connect("localhost","root","1234","tasks");
      //拼接sql语句
      $q = "select task_id,parent_id,task from tasks where date_completed = '0000-00-00:00:00:00' order by parent_id,date_added asc";
      //执行sql
      $r = mysqli_query($dbc,$q);
      //遍历结果集
      while (list($task_id,$parent_id,$task) = mysqli_fetch_array($r,MYSQLI_NUM)) {
        //组成数组(一级键为parent_id,二级键为task_id,值为任务内容)
        $tasks[$parent_id][$task_id] = $task;
      }
      //打印数组
      echo "pre>";
      print_r($tasks);
      echo "/pre>";
      make_list($tasks[0]);
      echo "pre>";
      //打印缩进数组
      print_r($strArr);
      echo "/pre>";
    ?>
    
    

    运行结果图

    第二种方法(查表法)

    这种方法其实是在一开始只查询出parent_id=0的所有任务,然后采用递归的方式,动态生成查询条件,然后把每条记录的task_id又作为task_id,这样又进行新一轮的查询,知道查询结果为空。

    ?php
      function findArr($where = "parent_id = 0",$deep = 0){
        $dbc = mysqli_connect("localhost","root","1234","tasks");
        global $strArr;
        $q = "select task_id,parent_id,task from tasks where ".$where." order by parent_id,date_added asc";
        $r = mysqli_query($dbc,$q);
        $qianzhui = str_repeat("nbsp;", $deep)."|--";
        while (list($task_id,$parent_id,$task) = mysqli_fetch_array($r,MYSQLI_NUM)) {
          $strArr[] = $qianzhui.$task;
          //拼接查询条件
          $where = "parent_id = ".$task_id;
          //递归查询
          findArr($where,++$deep);
        }
      }
      findArr();
      //打印缩进数组
      echo "pre>";
      print_r($strArr);
      echo "/pre>";
    ?>
    
    

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • PHP实现无限极分类的两种方式示例【递归和引用方式】
    • PHP超牛逼无限极分类生成树方法
    • PHP实现无限极分类图文教程
    • php无限极分类实现的两种解决方法
    • ThinkPHP菜单无极分类实例讲解
    上一篇:php常用日期时间函数实例小结
    下一篇:用PHP做了一个领取优惠券活动的示例代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    php无限极分类实现方法分析 php,无限,极,分类,实现,方法,