• 技术文章 >后端开发 >php教程

    php无限极分类的方法

    墨辰丷墨辰丷2018-06-05 17:25:55原创781
    本篇文章主要介绍php无限极分类的方法,感兴趣的朋友参考下,希望对大家有所帮助。

    代码如下:

    <?php
    $conn = mysql_connect("localhost","admin","admin");
    mysql_select_db("people_shop",$conn);
    mysql_query("SET NAMES 'UTF-8'");
    $class_arr=array();
    $sql = "select * from ecs_brand ORDER BY brand_id asc ";
    $query = mysql_query($sql);
    while($row = mysql_fetch_array($query)){
      $class_arr[] = array($row['brand_id'],$row['brand_name'],$row['parent_id'],$row['sort_order']);
    }
    function dafenglei_select($m,$id,$index)
    {  
      global $class_arr;
      global $str;
      $n = str_repeat("    ",$m);
      // $n = $m;
      for($i=0;$i<count($class_arr);$i++){
        if($class_arr[$i]['2']==$id){
          if($class_arr[$i]['0']==$index){
            $str.= "<option value=\"".$class_arr[$i][0]."\" selected=\"selected\">".$n.$class_arr[$i][1]."</option>\n";
          }else{
            $str.= "<option value=\"  ".$class_arr[$i][0]."\">".$n.$class_arr[$i][1]."</option>\n";
          }
          dafenglei_select($m+1,$class_arr[$i][0],$index);    
        }
      }
      return $str;
    }
    $aa = dafenglei_select(1,0,0);
    ?>
    <select name="parent_id">
    <option value='0'>顶级分类</option>
    <?php
     echo $aa;
    ?>
    </select>

    如果是用smarty的话
    再加一个

    代码如下:

    $smarty->assign('wuxian_class',$aa);


    在html页面加上这句就可以了

    <select name="parent_id">
    <option value='0'>顶级分类</option>
    {$wuxian_class}
    </select>

    还有一个问题要注意 $str必须要是global行的,否则会有错误。

    无限极分类的延伸:

    我们可以写一个函数,每次调用这个函数的时候我们只需要传入这个数组及数据,就可以调用了,下面是我写的一个方法。

    function dafenglei_select(& $arr=array(),$m,$id,$index)
    {  
      // global $class_arr;
      global $str;
       $n = str_repeat("    ",$m);
      // $n = $m;
      for($i=0;$i<count($arr);$i++){
        if($arr[$i]['2']==$id){
          if($arr[$i]['0']==$index){
            $str.= "<option value=\"".$arr[$i][0]."\" selected=\"selected\">".$n.$arr[$i][1]."</option>\n";
          }else{
            $str.= "<option value=\"  ".$arr[$i][0]."\">".$n.$arr[$i][1]."</option>\n";
          }
          dafenglei_select($arr,$m+1,$arr[$i][0],$index);
        }
      }
       return $str;
    }

    总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

    相关推荐:

    基于thinkPHP实现的微信自定义分享功能的方法

    php版微信发红包接口用法实例

    php基于glob函数实现遍历文件和目录详解

    php入门到就业线上直播课:查看学习

    以上就是php无限极分类的方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:PHP中Enum的使用技巧 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• PHP与MySQL连接的方法总结• 工具包分享:PHP实现滑块验证图片• 针对初学PHP者的疑难问答_PHP• 求大神解答!ajax处理php返回的xml文档的问题• sql 当查询不到记录时返回的是什么
    1/1

    PHP中文网