php无限极分类
php无限极分类是经常要用到的,本人以前一直用的是已经写好的,所以没仔细去研究过,今天由于项目的需要,需要临时做一个php无限极分类的东东,遂做了一个最简单的,现记录如下,有需要的朋友可以看下。
数据表结构
CREATE TABLE IF NOT EXISTS `category` ( `id` int(5) NOT NULL AUTO_INCREMENT COMMENT '唯一自增id', `pid` int(5) NOT NULL DEFAULT '0' COMMENT '父id', `sort` int(2) NOT NULL DEFAULT '0' COMMENT '排序数字', `name` varchar(30) DEFAULT NULL COMMENT '名称', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='无限极分类表' AUTO_INCREMENT=1 ;
数据
INSERT INTO `category` (`id`, `pid`, `sort`, `name`) VALUES (1, 0, 1, 'php'), (2, 0, 2, '数据库'), (3, 0, 3, 'javascript'), (4, 1, 1, '框架模板'), (5, 1, 2, '函数总结'), (6, 2, 1, 'mysql'), (7, 4, 1, '框架'), (8, 4, 2, '模板'), (9, 8, 1, 'smarty'), (10, 7, 2, 'thinkphp'), (11, 10, 1, 'thinkphp技巧'), (12, 10, 2, 'thinkphp模板'), (13, 12, 3, '模板知识总结'), (14, 12, 2, '模板视频教程'), (15, 11, 1, 'model技巧');
函数实现代码
function tree(&$list,$pid=0,$level=0,$html='--'){ static $tree=array(); foreach($list as $v){ if($v['pid']==$pid){ $v['level']=$level; $v['html']=str_repeat($html,$level); $tree[]=$v; tree($list,$v['id'],$level+1,$html); } } return $tree; }
以上tree函数的第一个参数$list就是获取的如上表的一个二维数组的结果集。需要注意的是从数据库获取结果集的sql语句必须加上order by sort asc,否则sort字段将不能发挥排序的作用。
您可能感兴趣的文章
- php清空(删除)指定目录下的文件,不删除目录文件夹的方法
- php获取某段时间内每个月的方法,返回由这些月份组成的数组
- php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
- PHP setcookie无效的原因分析
- php 获取今天明天昨天时间戳的 N 种方法总结
- PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
- PHP新手用的Insert和Update语句构造类
- PHP中如何将数组变量写入到文件

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.
