数据库取值 三级分类后台遍历


/** * 将从数据库读取的标签一维数组转成标签树形式 * 根据每个值的parent_id, 将其变为相应值的叶子 * @params array $tagList 从数据库读取的一维数组, 数组每个值包含id和parent_id *          int $root树根节点的父id string $id 默认为id列名   string $pid 默认为parent_id列名   string $child分支点的索引 * @return array $tree 多维数组的标签树 * */static function getDictionaryTree($tagList, $root = 0, $id = ‘id‘, $pid = ‘parentid‘, $child = ‘child‘){    $tagTree = array(); // 树    if(is_array($tagList)){        $array = array();        foreach ($tagList as $key => $item){            $array[$item[$id]] = &$tagList[$key];//将数组中每个元素在内存中的地址提取出来        }

        foreach($tagList as $key=>$item){            $parentId = $item[$pid];            if($root == $parentId){                $tagTree[] = &$tagList[$key];            }else{                if(isset($array[$parentId])){                    $parent = &$array[$parentId];//直接找到父ID在内存中的地址, 然后添加子节点                    $parent[‘node‘] = true;//node为true表示其下有子节点, 方便前台显示此项可展开                    $parent[$child][] = &$tagList[$key];                }            }        }    }    return $tagTree;}

/** * 多维数组转一维数组, 用于删除标签时, 删除父标签, 所有的子标签ID全部获取 * @params array $tree 从数据库读取的信息   bool $getTagName 是否返回标签名, 为false只返回标签ID*          bool $getGroupTag 是否返回子组标签(仅在返回标签名的时候生效)   array $ret 递规调用的初始值 * @return array $ret 返回的id列表, 或id=>array(‘tagName‘=>name, ‘tagType‘=>val)的数组列表, tatType 0 为普通tag 1为组tag * */

static function array_multi_to_single($tree, $getTagName = false, $getGroupTag = true, $ret = array()){      foreach($tree as $k => $v){            if(!empty($v[‘child‘])){                  $ret = self::array_multi_to_single($v[‘child‘], $getTagName, $getGroupTag, $ret);          }          if($getTagName){              if(isset($v[‘child‘])){                  if($getGroupTag){                      $ret[$v[‘id‘]] = $v[‘name‘];                   }                  }else{                  $ret[$v[‘id‘]] = $v[‘name‘];              }             }else{                array_push($ret, $v[‘id‘]);          }    }    return $ret;}
				
时间: 2024-10-03 21:54:17

数据库取值 三级分类后台遍历的相关文章

与Mysqli相关的四种数据库取值

<!--取值方案一:通过数字数组 fetch_row()--><meta http-equiv="Content-Type" content="text/html" charset="utf-8"><?php/** * Created by PhpStorm. * User: Administrator * Date: 2015/8/27 * Time: 11:00 */ //数据库连接$_mysqli=new my

jQuery$.each循环遍历详解,各种取值对比,$.each遍历数组、对象、Dom元素、二维数组、双层循坏、类json数据等等

jQuery 遍历函数包括了用于筛选.查找和串联元素的方法. 函数 描述 .add() 将元素添加到匹配元素的集合中. .andSelf() 把堆栈中之前的元素集添加到当前集合中. .children() 获得匹配元素集合中每个元素的所有子元素. .closest() 从元素本身开始,逐级向上级元素匹配,并返回最先匹配的祖先元素. .contents() 获得匹配元素集合中每个元素的子元素,包括文本和注释节点. .each() 对 jQuery 对象进行迭代,为每个匹配元素执行函数. .end(

[黑马PHP教程]A. 数组的定义,取值,分类

一,数组基础 二,数组定义(赋值) 三,数组取值  四,数组的分类 按键值关系来分:        按数组的维度(复杂程度)来分:

locust参数化(数据库取值)

基于上一篇参数化的梳理,本篇用另一种方法从数据库中取出这100个用户来登录 思路:在 TaskSet 中的 on_start 方法表示执行任务前的操作,可以将数据库取数据的这个操作放在里面执行 from locust import task,TaskSet,HttpLocust import pymysql import os class MyTaskSet(TaskSet): def run_sql(self): self.connect = pymysql.connect( host = "

html控件取值,插入后台数据库

我以前有个疑问怎么才能把html的input值取出来呢?取出来到后台,这样就可以和asp:textbox一样操作了.关键就是在后面加一个runat="server"属性.然后再加一个onserverclick="submit" 事件.html控件不像asp控件可以直接在事件属性中双击添加事件,它需要手动添加比如. 普通input控件:<input type="text" name="email"  /> 加了run

后台数据库取值 轮播图

<div> <div id="myCarousel" class="carousel slide"> <!-- 轮播(Carousel)指标 --> <ol class="carousel-indicators" style="bottom: 0;"> <c:forEach items="${advertList}" var="advert&q

使用powershell连接oracle数据库(取值、更新)

在工作中我们常常需要使用powershell连接Oracle数据库.但是在百度找到的代码都是很老的,而且还需要oracle数据库连接客户端.查找一番后发现Oracle官方早已经发布了对.net官方连接库,高效简单.连接库地址:https://www.oracle.com/technetwork/developer-tools/visual-studio/overview/index.html 我写的小小demo:官方文档:https://docs.oracle.com/cd/E11882_01/

loadrunner从数据库中取值进行参数化

LoadRunner提供两种参数化取值方式,一种是手动编辑,另一种就是通过连接数据库取值.一般在大型业务并发压力测试时,数据量肯定也都是非常大的,所以手动去编辑就不切实际了,这时用连接数据库的功能就方便了很多. 所需软件: mysql-connector-odbc-5.3.12-win32.msi 安装此软件时,如果提示: 需要先安装:vcredist_x86.exe. 以下以mysql数据库取值为例,进行操作步骤介绍及截图. 1.Parameter List对话框中点击Data Wizard按

loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式

loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式 分类: 心得 loadrunner 我的测试 2012-04-01 12:52 2340人阅读 评论(0) 收藏 举报 脚本loadrunnerstreamfilestring测试 .controller中运行脚本时无法查看输出log,可以手动写入代码输出log到外部文件,通过查看该log获得相关信息: 以下脚本是为了分析场景中多用户运行时参数列表如何取值(id,groupid,sid,uname),设置集合点后通过查看时