php如何查找会员无限分类的所有上级和所有下级
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php如何查找会员无限分类的所有上级和所有下级相关的知识,希望对你有一定的参考价值。
会员a, 会员a下有会员a-1,a-2,
a-1下有a-1-1,a-1-2 以此类推 无限极
怎么查询某个会员的所有上级 和所有下级
数据库 是有id uid username id是注册会员自动生成ID号 uid存放上级父id
a会员id是1,uid是0
a-1会员id是2, uid是1
a-2会员id是3,uid是1
a-1-1会员id是4,uid是2
a-1-2会员id是5,uid是2
以此类推 无限极
现在我需要查询其中某个会员 的所有上级及下级
我之前给一个人做个一个类似的会员推广提成的模块,就a推广出的a-1,a-2继续推广,得到a-1-1,a-1-2等等。
我的数据库设计思路如下:
用户表中有一个son这么一个字段,这个字段中存放名下所有会员的id,用分号隔开。
这个字段的维护:
比如a-1-1推广出了一个a-1-1-1,此新用户的id是12345,那么给a-1-1 a-1 a这个三个用户son字段内均添加12345这个id,删除一个用户做法一样。
有了这张表就能实现你要的效果。
查一个会员名下所有的会员,只需要读取该会员的son字段即可
查一个会员的上级 怎在数据库中所搜son字段,含有此会员id的都是他的上级会员。
当然,还有一个字段是标记此会员的直接上级会员,这样 一张表就能从任意会员得到整个会员推广树。
希望这个思路能帮到你。追问
能帮我截下您的想法数据表的结构和一条数据吗,还有一点点不明白额
追答字段 id pid name son ...后面省略
这个是测试数据
要获取id为7的所有上级,只需在son中找7即可,1 2 4 均是7的上级 4是7的直接上级
要获取id为4的所有下级,直接读取son即可,6 7 8 9 为4的下级
请问 son里面的id号 怎么添加上去
追答以9为例,添加9这个用户时肯定是知道他的直接上级是8,因为就是通过8推广得到9的,然后根据8取到8的所有上级,将9添加到8的所有上级的son字段中,包括8也要添加。
追问那如果我要是 注册新会员 所有上级都个一个积分 也是不用这个逻辑就可以了
追答恩,没错。
参考技术A 是数据库吗?字段有哪些?如果是你那种举例的规则的话,可以用模糊查询或者正则表达式匹配出来,必要的情况下选择递归算法。SQL查询无限层级结构的所有下级,所有上级
无限层级结构的table1表,Id(主键),ParentId(父级id)查询某个Id的所有下级或所有上级,使用WITH AS,UNION ALL 查询
1、查询Id为1所有的下级
WITH T AS( SELECT * FROM table1 WHERE Id=1 UNION ALL SELECT a.* FROM table1 a INNER JOIN T ON a.ParentId=T.Id ) SELECT * FROM T
2、查询Id为88所有的上级
WITH T AS( SELECT * FROM table1 WHERE Id=88 UNION ALL SELECT a.* FROM table1 a INNER JOIN T ON a.Id=T.ParentId ) SELECT * FROM T
以上是关于php如何查找会员无限分类的所有上级和所有下级的主要内容,如果未能解决你的问题,请参考以下文章