PHP代码篇(六)--如何根据邀请人id查询满足条件的会员上级
说,如果有一个会员表,每一个会员都有一个邀请人from_id字段(记录该会员是谁邀请的),知道一个会员id,现在需要查询某一个会员是否是该会员的下级。
表如下:
一、当下需求
1、我们需要知道会员id5赵钱,是否是会员id张三的下属会员。
2、代码思路,从下级往上查,因为一个人只能有一个上级。使用递归查询,查询到上级,进行判断,满足则返回。不满足获取到新的上级,继续查询,一直查询到满足或者,会员没有上级或者,查询完所有的会员记录。
3、代码如下
/** * 判断会员是否是另一个会员的下级 * @param [type] $member_id 体系头id * @param [type] $other_member_id 下级id * @return [type] */ function getInfo($member_id, $other_member_id){ //下级id的会员信息 $from_info = $this->findMemberData(['id'=>$other_member_id], 'id,from_id'); //对会员的邀请人id进行赋值 $uid = $from_info['from_id']; while ($uid > 0) {//有邀请人,进行判断,满足即返回true;否则继续往上查询,一直查到没有邀请人为止 $from_info = $this->findMemberData(['id'=>$uid], 'id,from_id'); if($from_info['from_id'] == $member_id){ return 1; }else{ //不满足,重新赋值 $uid = $from_info['from_id']; } } return 0; }
-----END
影子是一个会撒谎的精灵,它在虚空中流浪和等待被发现之间;在存在与不存在之间....