php秒杀实现代码(php无限极分类实现方法分析)
类别:编程学习 浏览量:2881
时间:2022-03-30 00:27:07 php秒杀实现代码
php无限极分类实现方法分析本文实例讲述了php无限极分类实现方法。分享给大家供大家参考,具体如下:
今天给大家带来的是php的无限极分类技术,本人把无限极分类划分为两种。
首先我把数据库表给大家看看,数据库是tasks,数据库表也是tasks
第一种方法(数组法)
这种方法其实是先把所有的数据查询出来,重点在于生成的二维数组
|
<?php //分类方法 function make_list( $parent , $deep = 0){ global $tasks ; //申明全局变量 global $strarr ; //申明全局变量 $qianzhui = str_repeat ( " " , $deep ). "|--" ; foreach ( $parent as $key => $value ) { $strarr [] = $qianzhui . $value ; if (isset( $tasks [ $key ])){ make_list( $tasks [ $key ],++ $deep ); //递归调用函数 } } } //数据库连接 $dbc = mysqli_connect( "localhost" , "root" , "1234" , "tasks" ); //拼接sql语句 $q = "select task_id,parent_id,task from tasks where date_completed = '0000-00-00:00:00:00' order by parent_id,date_added asc" ; //执行sql $r = mysqli_query( $dbc , $q ); //遍历结果集 while (list( $task_id , $parent_id , $task ) = mysqli_fetch_array( $r ,mysqli_num)) { //组成数组(一级键为parent_id,二级键为task_id,值为任务内容) $tasks [ $parent_id ][ $task_id ] = $task ; } //打印数组 echo "<pre>" ; print_r( $tasks ); echo "</pre>" ; make_list( $tasks [0]); echo "<pre>" ; //打印缩进数组 print_r( $strarr ); echo "</pre>" ; ?> |
运行结果图
第二种方法(查表法)
这种方法其实是在一开始只查询出parent_id=0的所有任务,然后采用递归的方式,动态生成查询条件,然后把每条记录的task_id又作为task_id,这样又进行新一轮的查询,知道查询结果为空。
|
<?php function findarr( $where = "parent_id = 0" , $deep = 0){ $dbc = mysqli_connect( "localhost" , "root" , "1234" , "tasks" ); global $strarr ; $q = "select task_id,parent_id,task from tasks where " . $where . " order by parent_id,date_added asc" ; $r = mysqli_query( $dbc , $q ); $qianzhui = str_repeat ( " " , $deep ). "|--" ; while (list( $task_id , $parent_id , $task ) = mysqli_fetch_array( $r ,mysqli_num)) { $strarr [] = $qianzhui . $task ; //拼接查询条件 $where = "parent_id = " . $task_id ; //递归查询 findarr( $where ,++ $deep ); } } findarr(); //打印缩进数组 echo "<pre>" ; print_r( $strarr ); echo "</pre>" ; ?> |
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/baochao95/article/details/51705385
您可能感兴趣
- php使用yield处理并发(Yii2.0框架模型多表关联查询示例)
- wampserver怎么使用(wampserver怎么用?如何使用wampserver来配置本地php环境)
- php查找文件存在(php判断目录存在的简单方法)
- php中isset函数有什么功能(PHP中的empty、isset、isnull的区别与使用实例)
- php运行机制与原理(PHP进阶学习之类的自动加载机制原理分析)
- phpredis怎么实现任务(PHP swoole和redis异步任务实现方法分析)
- php 数据库查询并写入(PHP实现单条sql执行多个数据的insert语句方法)
- php实例说明(PHP中Static静态关键字功能与用法实例分析)
- php缓存技术学习(简单实用的PHP文本缓存类实例)
- php有几种模式(php 策略模式原理与应用深入理解)
- 织梦cms漏洞怎么解决(织梦cms、帝国cms、PHPcms优缺点解析)
- phplaravel快速开发平台(laravel框架实现去掉URL中index.php的方法)
- webapp前端能用yii2开发吗(Yii Framework框架使用PHPExcel组件的方法示例)
- php生成随机数讲解(PHP生成随机字符串实例代码字母+数字)
- phpstudy服务器怎么设置(phpstudy本地环境开启.htaccess伪静态方法)
- php抽象入门教程(php抽象方法和普通方法的区别点总结)
- 菲律宾游学(菲律宾游学中介机构)
- 菲律宾美食(菲律宾美食排行榜前十名)
- 菲律宾特产(菲律宾特产最值得买回国)
- 越南特产(越南特产首饰)
- TVB负评王连续挑战警察角色《使徒行者3》中将饰演卧底(TVB负评王连续挑战警察角色使徒行者3中将饰演卧底)
- 《精英律师》剧照首曝光,实力演员飙戏,演绎律政职场百态(精英律师剧照首曝光)
热门推荐
- 如何使用HttpModule实现sql防注入
- 移动端字号规范(吃透移动端 1px的具体用法)
- sqlparamter如何传递nvarchar(max) 参数
- 用python如何写tkinter(浅谈python3.6的tkinter运行问题)
- python生成文本文件(python+os根据文件名自动生成文本)
- 服务器怎么创建网站(网站如何选择服务器空间?)
- docker分配容器资源(Mac为docker和kubectl添加自动补全命令的方法)
- h5打开小程序点允许(html5跳转小程序wx-open-launch-weapp踩坑)
- dedecms全局标签(dedecms教程之单表模型动态浏览设置方法分享)
- vue的修饰符都有哪些(详解Vue的sync修饰符)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9