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

yipeiwu_com7年前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数据库里所有表的实现代码

复制代码 代码如下: function list_tables($database) { $rs = mysql_list_tables($database); $tables = ar...

php+mysql+jquery实现日历签到功能

php+mysql+jquery实现日历签到功能

在网站开发过程中我们会经常用到签到功能来奖励用户积分,或者做一些其他活动。这次项目开发过程中做了日历签到,因为没有经验所有走了很多弯路,再次记录过程和步骤。 1.日历签到样式: 2.本...

php mysql procedure实现获取多个结果集的方法【基于thinkPHP】

本文实例讲述了php mysql procedure实现获取多个结果集的方法。分享给大家供大家参考,具体如下: protected function getRs($id) {...

Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)

Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)

首先启动命令行 1.在命令行运行:taskkill /f /im mysqld-nt.exe 下面的操作是操作mysql中bin目录下的一些程序,如果没有配置环境变量的话,需要切换到...

浅谈php中mysql与mysqli的区别分析

首先两个函数都是用来处理DB 的。首先, mysqli 连接是永久连接,而mysql是非永久连接。什么意思呢? mysql连接每当第二次使用的时候,都会重新打开一个新的进程,而mysql...