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对象模型(PHP数据对象映射模式实例分析)
- php系统转换的三种方式(PHP容器类的两种实现方式示例)
- php递归ajax的交互模型(PHP使用反向Ajax技术实现在线客服系统详解)
- php微信支付怎么做(ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解)
- php网站经典案例(PHP生成短网址的思路以及实现方法的详解)
- php上传文件的要求(PHP大文件分块上传功能实例详解)
- php中三种变量的作用区域(PHP global全局变量经典应用与注意事项分析附$GLOBALS用法对比)
- phpstudy安装教程详解学习(phpstudy下载安装简明图文教程)
- php 精度误差调整(php精度计算的问题解析)
- thinkphp框架切换数据库(ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例)
- phpzip压缩原理(PHP生成zip压缩包的常用方法示例)
- thinkphp数据库使用(thinkphp3.2同时连接两个数据库的简单方法)
- php 处理html表单(PHP使用HTML5 FormData对象提交表单操作示例)
- nginx 怎么搭建web服务器(Linux+Nginx+Php架设高性能WEB服务器)
- dedecms兼容模式(DedeCMS 验证码不正确的解决方法php配置问题)
- thinkphp5开发教程(thinkPHP5框架接口写法简单示例)
- 乾隆为何这么喜爱白塔原因是什么(乾隆为何这么喜爱白塔原因是什么)
- 逐渐消失的东北八大怪现象,进步的社会里我们遗失的是什么(逐渐消失的东北八大怪现象)
- 今日大雪,大雪养生这样做,一年都有好气色(大雪养生这样做)
- 粗盐是什么 粗盐的功效与作用(粗盐的功效与作用)
- 会 吃人 的客机 从天堂到地狱只需5分钟,图-104如何做到(会吃人的客机)
- 男人犯的错,为什么要女人来承担(为什么要女人来承担)
热门推荐
- 注册会员信息管理(如何验证会员系统中用户的邮箱是否真实存在)
- MySQL与Oracle数据类型对应关系
- css如何将元素显示到最上面(css中子元素设置margin-top为什么影响了父元素)
- python列表和条件组合的处理(一篇文章带你弄懂Python基础之列表相关操作和嵌套)
- .NET异常处理的几个建议
- 用javascript设计五子棋(JavaScript实现网页版五子棋游戏)
- CSS中的伪类与伪元素
- 腾讯云轻量服务器怎么降低延迟(腾讯云星星海SA2云服务器配置规格性能实际评测)
- html5游戏新手引导开发(使用数据结构给女朋友写个Html5走迷宫游戏)
- php脚本通过文件路径批量上传文件(php遍历目录下文件并按修改时间排序操作示例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9