php无限极,php实现无限极分类 - MyClassPHP-Colin主页 - OSCHINA - 中文开源技术交流社区...

/**

* 无限分类

* @param [type] $model 一个模型对象

* @param integer $pid 上级ID

* @param array &$categorys 一个保存结果的数组

* @param integer $spac 空格循环次数

* @return [type] array

*/

function data2array($model = null , $pid = 0 , &$categorys = array() , $spac = 0){

$spac = $spac + 2 ;

//得到sql语句

$sql = $model->order('sort desc,id asc')->where(array('pid' => $pid))->field('*')->getSql();

//执行这条sql语句并返回资源类型

$query = $model->execute_resource($sql);

//遍历

while($rows = $query->fetch_assoc()){

$rows['name'] = str_repeat(' ',$spac).'|--'.$rows['name'];

$categorys[] = $rows;

data2array($model , $rows['id'] , $categorys , $spac);

}

return $categorys;

}

/**

* 显示成html样式

* @param [type] $model 一个模型对象

* @param integer $pid 上级ID

* @param integer $selected select的默认选中值

* @param [type] $selectName select的名称

* @param boolean $is_top 是否顶级菜单

* @return [type] string

*/

function displayCate($model = null , $pid = 0 , $selected = 0 , $selectName = null , $is_top = true){

$result = data2array($model , $pid);

$str .= '';

if($is_top){

$str .= '顶级菜单';

}

foreach($result as $key => $value){

/*重置!*/

$selectedstr = '';

if($value['id'] == $selected) $selectedstr = 'selected';

$str .= ''.$value['name'].'';

}

$str .= '';

return $str;

}

//使用

displayCate(M('Channel') , 0 , 0 , 'pid');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/543501.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Graph(2014辽宁ACM省赛)

问题 F: Graph 时间限制: 1 Sec 内存限制: 128 MB提交: 30 解决: 5[提交][状态][论坛]题目描写叙述 Your task is to judge whether a regular polygon can be drawn only by straightedge and compass. The length of the straightedge is infinite. The width of the compa…

笔记本电脑处理器_高通提示低成本5G芯片更强大的笔记本电脑处理器

高通公司总裁克里斯蒂亚诺阿蒙(Cristiano Amon)在今天的柏林IFA贸易展览会的虚拟主题演讲中说,我们将很快看到更便宜的5G手机,以及更多具有更好应用兼容性的Windows-on-Snapdragon笔记本电脑。欧洲主要的电子产品展览会IFA今年被分成​​几个小组活动&am…

php分布式的锁,laravel分布式并发锁

环境要求1.PHP > 72.composer3.redis(必须支持lua)4.prediscomposer 安装redis 安装predis 安装composer require predis/predislock 安装第一步, 安装alravel-lockcomposer require nabao/laravel-lock第二步, 生成配置文件php artisan vendor:publish --provider"Loc…

linux 标准 GPIO 操作

Linux 提供了GPIO 操作的 API,具体初始化及注册函数在 driver/gpio/lib_gpio.c 中实现。#include int gpio_request(unsigned gpio, const char *label);获得并占有 GPIO port 的使用权,由参数 gpio 指定具体 port。非空的label指针有助于诊断。主要告…

为什么6lowpan 要有四个地址_大型监控网络系统如何规划ip地址

本文转自网络对于监控项目来说,很多故障的原因都是跟ip地址设置不当有关,如ip冲突,或者有几路监控图像没有显示等,都是跟ip有一定关联,合理的分配ip地址十分重要。一、为什么要合理分配IP对于小型监控项目来说&#xf…

php 伪静态规则,在线将Apache Rewrite Rules伪静态规则转换为Nginx Rewrite伪静态规则...

一般php的开发者本地使用的都是使用apache服务器,使用伪静态的时候每次都需要转换成nginx rewrite规则,于是做了个在线将Apache htaccess Rewrite伪静态规则自动转换为Nginx Rewrite伪静态规则的工具使用这个工具可以自动的把下面的apache伪静态规则自动…

JAVA中的命令模式实例教程

原文链接 作者&#xff1a;Pankaj Kumar 译者&#xff1a;f0tlo <1357654289qq.com> 命令模式是一种行为模式&#xff0c;因此&#xff0c;它处理的是对象的行为。命令模式为系统中不同的对象提供中性化的交流媒介。根据GoF的定义&#xff0c;命令模式是&#xff1a; 通…

bugku 管理员系统 后台代码_不会吧,这也行?iOS后台锁屏监听摇一摇

[toc] 背景介绍 一般情况下&#xff0c;出于省电、权限、合理性等因素考虑&#xff0c;给人的感觉是很多奇怪的需求安卓可以实现&#xff0c;但是iOS就无法实现&#xff01;今天要介绍的需求也有这种感觉&#xff0c;就是“当 APP 处于后台或锁屏状态时&#xff0c;依旧可以监听…

windows php5.3升级,Windows10系统将PHPNOW升级PHP版本为5.3.5

Windows 10发布很久了&#xff0c;现在大多数人都在使用&#xff0c;在WIN10中使用PHPNOW&#xff0c;觉得自带的PHP版本有点低&#xff0c;所以就想升级下&#xff0c;在网上搜索了一些方法&#xff0c;然后结合自己的实际操作&#xff0c;在这里分享下。1、首先要下载PHP5.3.…

在Microsoft Word中,Node是如何替代宏的

最近的30年来&#xff0c;宏&#xff08;macros&#xff09;成为了Microsoft Word的关键卖点。WordBASIC最初是在1989年引入的&#xff0c;它能够让受过极少培训的打字员都能进行计算机编程&#xff0c;从而简化他们的日常工作。\\在那个时代&#xff0c;竞争非常激烈。除了Wor…

igs无法分配驱动器映射表_硬盘无法使用,用DiskPart进行分区和格式化,非常简单...

如果计算机硬盘出现问题&#xff0c;有时不是硬件上出现了错误&#xff0c;很可能只是逻辑上出现了问题&#xff0c;这时就可以使用DiskPart来快速解决。在Windows 10上&#xff0c;当外部存储(例如U盘、可移动硬盘或SD卡)由于数据损坏或其他问题而停止工作时&#xff0c;可以使…

java随机生成1到33数组,JAVA 生成随机数数组

一、JAVA获取随机数的方法//使用java.lang.Math类的random()方法double a Math.random();System.out.println("0.0-1.0的随机数&#xff1a;" a);double b Math.random()*100;System.out.println("0.0-100.0的随机数&#xff1a;" b);int c (int)(Mat…

线性筛法求素数

求素数是比较基本的内容&#xff0c;有时候我们会需要打一个素数表。一般如果n比较小我们会使用&#xff08;%2~sqrtn&#xff09;这种算法&#xff0c;简单但是时间耗费很多&#xff0c;复杂度是O(n^2)。这里介绍一种筛选求素数法&#xff0c;基本要点是&#xff0c;如果找到一…

硬件nat关闭还是开启_超能课堂(173):AfterBurner不止超频,还是绝佳的游戏伴侣...

微星AfterBurner软件可以说是一个相当好用的显卡工具&#xff0c;它好用的超频功能估计都不用我多说了吧&#xff1f;微星并没有把这款软件限制在自己品牌的显卡能用&#xff0c;各个品牌的显卡都能用&#xff0c;无论A卡还是N卡都可以用AfterBurner来超频&#xff0c;软件在超…

java dataset redis,利用Spring-Data-Redis和Jedis操作Redis缓存

概述 Jedis是redis官方推荐的用于访问Java客户端&#xff0c;在https://github.com/xetorthio/jedis下载最新的jedis。 访问redis 1、访问简单的key——value&#xff0c; pu只需简单几步&#xff0c;就可以利用Spring-Data-Redis和Jedis操作Redis缓存。步骤如下&…

javascript Array学习与使用

一&#xff0e;Javascript数组是无类型的&#xff1b;数组元素可以任意类型&#xff0c;并且同一个数组中的不同元素也可能有不同的类型&#xff0c;javascript数组是动态的&#xff0c;会根据需要增长或者缩减&#xff0c;每一个数组都有一个length属性。它不是只读的&#xf…

mx350显卡天梯图_CPU天梯图与显卡天梯图2020年最新版

最新CPU天梯图较之以往没有太大的变化&#xff0c;前十位置还是那几款。但是继阿里之后&#xff0c;腾讯也开始准备自己制作芯片了&#xff0c;毕竟自研AI芯片的诱惑还是很大的&#xff0c;2020年有不少的厂商都推出了新鲜美味的显卡&#xff0c;有些是老卡翻新做性价比。有的则…

matlab写字,Matlab实现鼠标写字代码

类型&#xff1a;编程工具大小&#xff1a;1.5M语言&#xff1a;中文 评分&#xff1a;1.2标签&#xff1a;立即下载最早的程序&#xff0c;实在忘了从哪里下载的了。能够实现鼠标的手写输入&#xff0c;但是一些不连续的点。tmouse.mfunction tmouse(action)% TMOUSE 本例展示…

[Linux]变量加减赋值以及将String转int

teddytoshiba~$ a"76"teddytoshiba~$ echo $((a3))79teddytoshiba~$ echo $((a-12))64teddytoshiba~$取文件名以及文件路径的脚本&#xff1a;#!/bin/shtmp$1filenameecho $1 | awk -F/ {print $(NF)}echo "filename":$filenamefilenamelengthecho | awk …

matlab在绘图时分数,第三章_Matlab图形绘制试卷.ppt

2、griddata函数&#xff0c;用来产生经插值后均匀间隔数据作图。常用的调用方法是&#xff1a;[XI,YI,ZI] griddata(x,y,z,XI,YI,’method’)&#xff0c;其中x,y,z来自关系式zf(x,y)&#xff0c;也可以是离散的数据点&#xff0c;ZI是有XI和YI插值后得到的对应点。其中metho…