PHP递归统计上下级
PHP递归统计上级
场景
1.由于项目需要类似于分销,需要统计所有上级,并且的到上级id号(member_id),上下级关系是通过字段(p_id) 建立上下级关系. 上级无级,之前最多是三级分销,通过mysql一级一级的查找。对于无限级,则用一个递归函数来统计。
递归函数
// An highlighted blockclass memberLimitLogic{static $ShareholdersMember = []; //静态变量用于存放member_id//递归函数private function ShareholdersMember($member_id){ //传入初始IDif(empty($member_id)){return self::$ShareholdersMember; //如果为空就返回}$mWhere = array( //查询条件条件'member_id' => array('eq',$member_id));//框架封装好的mysql 查寻语句。表名为 member 表, where条件为 $mWhere,查询内容为 member_id,p1_id(上级ID),level(为用户等级)$member_list = Model()->table('member')->where($mWhere)->field('member_id,p1_id,level')->find();if($member_list){ //判断上级是否存在$member_id =$member_list['p1_id'];self::$ShareholdersMember[] = $member_list['member_id']; //把member_id存入数组(这里包括自己的ID,所以在传入初始ID的时候最好传入初始ID的上级ID(p1_id))// if($member_list['level']==4){// self::$ShareholdersMember[] = $member_list['member_id'];// }$this->ShareholdersMember($member_id); //继续执行本函数}else{return self::$ShareholdersMember;}}
}
//下级同理,只需修改查询条件即可$mWhere = array( //查询条件条件'p1_id' => array('eq',$member_id));
PHP递归统计上下级相关推荐
- Linux学习:读取目录内容 (目录名和类型)和递归统计指定目录下普通文件个数练习
一.读取目录内容 #include <stdio.h> #include <unistd.h> #include <dirent.h> #include <s ...
- php 无限查找下级业绩_php无限查询下级,php递归统计下级总数,php 获取无限子级...
因项目需要需要统计用户无限下级计算分销佣金,计算每月分红,计算无限下级团队的业绩,需要先获得某个会员的无限下级成员.先看看数据库中的member表字段 id username ...
- java递归统计一个文件夹含子文件夹里文件不同后缀的出现次数
/*** 统计一个文件夹中不同文件出现的次数*/ public class demo1 {public static void main(String[] args) {File file = new ...
- java递归统计_Java类递归计数
Class.isAssignableFrom();执行运行时的检查,以校验传递的对象确实属于我们感兴趣的继承结构. 统计基类和确切类型个数.import java.util.HashMap; impo ...
- linux shell 递归统计代码行数
一句话: find /path -name '*.cpp' |xargs wc -l 转载于:https://www.cnblogs.com/songbingyu/p/4047163.html
- PHP 递归寻找上下级DEMO
寻找所有下级 /*** @desc 获取所有下级ID** @param $uid* @param string $ids* @return string* @throws \think\Excepti ...
- linux 代码统计工具,Shell脚本实现的基于SVN的代码提交量统计工具
最近没啥事,就用bash写了一个基于svn的代码统计小工具. 可以指定统计的目录,默认递归统计子目录. 目前还没有屏蔽指定目录的功能.哈 代码比较粗糙.不过先晒出来. #!/bin/bash - #& ...
- linux wc read,Linux 下使用 wc 统计文件夹下所有文件的代码行数(包括子目录)-Go语言中文社区...
wc 命令用于统计文件内容的行数.单词数.字母数. 但是如果想统计一个目录下所有文件的行数,wc 并没有提供递归统计. 不过,可以结合 find 命令,例如: $ wc -l `find -name ...
- Python实现代码行数统计工具
转自:Python中文社区 我们经常想要统计项目的代码行数,但是如果想统计功能比较完善可能就不是那么简单了, 今天我们来看一下如何用python来实现一个代码行统计工具. 思路:首先获取所有文件,然后 ...
最新文章
- JAVA导出exls时报oom_如何实现导出百万条数据到EXCEL中不报OOM异常?
- 使用Spring的@Autowired 实现DAO, Service, Controller三层的注入(转)
- python 进度条
- 曲线聚类_机器学习入门必读:6种简单实用算法及学习曲线、思维导图
- vim 高级使用技巧第二篇
- 如何使用ODBC搭配dsn链接数据库
- 【Java进阶】Ribbon讲解实现案例
- springboot data.redis.RedisConnectionFactory 集成问题
- 【转】无刷新验证用户名可用性
- Python笔记-获取拉钩网南京关于python岗位数据
- OpenShift 4 - DevSecOps (1) - 安装 DevOps 环境
- 字体编辑器_Mac系统常见的Birdfont字体编辑器
- 全球约39亿人未接入互联网 韩国家庭宽带普及率最高
- 软件需求与分析——大二下需会知识点
- 测试用例场景法3个例子
- 各大Asp木马的万能密码
- 生物医学信号检测与处理实验3——1微电阻梁
- 飞凌小课堂-RK3399开发板 linux双千兆网口方案-RTL8153
- Linux内核bridge结构体相关
- 2022考研:数学考研备考规划
热门文章
- 阻止你创业的理由?一切都是浮云!
- c4droid c4droid 安装 使用 教程
- 2023最新ChatGPT商业版4.8.4破解+GPT4.0(包含3.5)+AI绘画midjourney
- 特征学习-RBM与PCA应用在LR
- stm32接入机智云平台实现app控制led灯
- 大佬教你们如何快速复制网页中的链接地址(技巧分享,非爬虫篇)
- 使用Scala语言开发GUI界面的计算24点的游戏应用
- 运营商计算机笔试题库及答案,计算机笔试题库及答案
- Jedis实现抽奖功能
- MySQL由于找不到msvcp140.dll无法继续执行代码