PHP+MySQL实现无极限分类栏目的方法

yipeiwu_com6年前Mysql基础

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

一个非常简单清晰简单的无极限分类范例,带缩进效果,只需查询一次数据表,然后递归遍历结果集,就可以了,要在php中实现栏目缩进显示可以参考一下。

$sql = 'select * from cat order by cat_id desc';
$list = $db->getAll($sql);
$list = getLevelCat($list);
function getLevelCat($catlist, $parent_id='0', $html='   ', $level='0'){
  $arr = array();
  foreach($catlist as $val){
    if($val['parent_id']==$parent_id){
      $val['html'] = str_repeat($html,$level);
      $val['level'] = $level;
      $arr[] = $val;
      $arr = array_merge($arr, getLevelCat($catlist, $val['cat_id'], $html, $level+1));
    }
  }
  return $arr;
}

实现效果图:

短短几行代码,比较清晰,也比较好用。

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

相关文章

PHP查询MySQL大量数据的时候内存占用分析

昨天, 有同事在PHP讨论群里提到, 他做的一个项目由于MySQL查询返回的结果太多(达10万条), 从而导致PHP内存不够用. 所以, 他问, 在执行下面的代码遍历返回的MySQL结果...

MySql中正则表达式的使用方法描述

正则表达式定义了一个字符串的规则。最简单的正则表达式不包含任何保留字。例如,正则表达式hello只和字符串“hello”匹配。  一般的正则表达式使用了某些特殊的结构,所以它能...

php更新mysql后获取改变行数的方法

本文实例讲述了php更新mysql后获取改变行数的方法。分享给大家供大家参考。具体分析如下: 一个php更新mysql后获取改变的行数,在php中提供mysql函数来获取最后执行查询所影...

mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法

mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决...

解析php session_set_save_handler 函数的用法(mysql)

复制代码 代码如下:<?php /*============================文件说明========================================...