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;
}

 

posted @ 2019-12-04 00:00  在斑马线上散布  阅读(447)  评论(0编辑  收藏  举报
夫人不言,言必有中。这是高级臣僚的一种可贵品质,言辞精炼,直抵要害。