php-无限级分类之下拉列表

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: php-无限级分类之下拉列表

list.php

<?php
$link = mysqli_connect('localhost','root','','other');
mysqli_set_charset($link,'utf8');//设置中文编码

function getList($pid = 0,&$result = array(),$spac = 0){
    global $link;
    $spac = $spac+2;//标题前空格重复的次数
    //根据父id查找数据
    $sql = "SELECT * FROM sort where pid=$pid";
    //发送sql语句
    $res = mysqli_query($link,$sql);

    //判断$row里的值是否为空然后再循环
    while ($row = mysqli_fetch_assoc($res)){
        //str_repeat 重复括号里的字符串,后面跟的是次数
        $row['title'] = str_repeat('&nbsp',$spac).'|--'.$row['titl
        //把数组赋给 $resulte'];
        $result[] = $row;
        //递归调用,自己调用自己 这个括号里的参数和上面getList($pid=0...)是一样的$row['id']==$pid=0;
        getList($row['id'],$result,$spac);
    }
    return $result;//把结果返回出去
}

$rs = getList();//使用方法
echo '<pre>';

echo '<select>';
foreach ($rs as $k => $v){
    echo "<option value =>{$v['title']}</option>";
}
echo "</select>";

效果图:在这里插入图片描述

getList这个方法并且设置传入三个可选参数,分别是一个默认的 pid、一个引用的数组参数result和一个空格符计数 spac 。然后设置了连接数据库的变量link为全局变量,主要是为了能在这个方法中正常使用。
实现上图效果的主要思路就是,遍历示例中的数组,当它的父级pid和顶级0相同时候,提取数组名字,重新编辑,加上前缀,放回去,然后通过递归算法再自己调用自己,完成一次递归,到下一次,如果有下一级别的pid,则继续调用

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7月前
|
安全 前端开发 PHP
采用PHP开发的医院安全(不良)事件系统源码 医院不良事件有哪些?又该怎样分类呢?也许这篇文章能给予你答案。
医疗安全不容忽视! 医疗不良事件有哪些?又该怎样分类呢?也许这篇文章能给予你答案。
63 1
采用PHP开发的医院安全(不良)事件系统源码 医院不良事件有哪些?又该怎样分类呢?也许这篇文章能给予你答案。
|
6月前
|
PHP
PHP地方门户分类信息网站源码讯客分类信息系统源码(含手机版)
1.上传程序到网站根目录,访问http://域名/install/index.php 进行安装,不要直接打开网址,先直接安装; 2.安装完成后 后台恢复数据即可 默认帐号密码都是admin http://域名/admin/ 3.不要删除任何文件,因为删除文件或者修改代码可能造成错误
274 0
|
移动开发 JavaScript 前端开发
数据可视化大屏百度地图手机端标注开发实战案例解析(jsAPI接口、标注分类图片、文本标签、分类筛选、自适应高度信息弹窗、PHP后端API)
数据可视化大屏百度地图手机端标注开发实战案例解析(jsAPI接口、标注分类图片、文本标签、分类筛选、自适应高度信息弹窗、PHP后端API)
210 0
|
JSON 前端开发 JavaScript
Echarts实战案例代码(15):月收入年龄分段等MYSQL分类统计PHP后台数据管理接口API数据的解决方案
Echarts实战案例代码(15):月收入年龄分段等MYSQL分类统计PHP后台数据管理接口API数据的解决方案
188 0
|
开发框架 .NET PHP
zblog实现同分类上一篇、下一篇文章的方法(php版本)
zblog实现同分类上一篇、下一篇文章的方法(php版本)
194 0
|
数据采集 PHP 数据库
php+phpquery简易爬虫抓取京东商品分类
  这是一个简单的php加phpquery实现抓取京东商品分类页内容的简易爬虫。phpquery可以非常简单地帮助你抽取想要的html内容,phpquery和jquery非常类似,可以说是几乎一样;如果你有jquery的基础的话你可以迅速地上手。
1083 0
|
算法 PHP 语音技术
PHP算法 参数组合,多个分类不同组合列表
算法:多个属性不同的组合/** * 風.Fox */ class test { //组合 public static $attNew=array(); //源 public static $att=array(); //个数 public static $attCount=0; /** * 格式化行 */
1051 0
排除hotnews主题内容页面上的热点图片推荐里的分类-hotnews主题top_hot.php
修改top_hot.php里的第二行 在get_posts('')中添加一个参数: categeory=-2,-3,-4