嵌套id为genealoy计数

时间:2018-02-07 08:15:19

标签: mysql

supose我已经通过id 47登录并且有四个id为57,56,89,91由47支持,这意味着以上四个id是id 47的直接成就者。我们可以轻松找到直接成就者但是当我尝试找到每个直接成就者ID的所有成就以及那些有向id(嵌套)的所有成就者等等......直到最后一个id没有任何id,它对我来说只有3000个id。对于超过3000个id,它显示错误,即服务器超时...我该怎么办enter link description here

由我开发的功能:

supose我已经通过id 47登录并且有四个id为57,56,89,91由47支持,这意味着以上四个id是id 47的直接成就者。我们可以轻松找到直接成就者但是当我尝试找到每个直接成就者ID的所有成就以及那些有向id(嵌套)的所有成就者等等......直到最后一个id没有任何id,它对我来说只有3000个id。对于超过3000个id,它显示错误,即服务器超时...我该怎么办enter link description here

function countachiverfetchCategoryTreeList($parent = '', $user_tree_array = '') {

    if (!is_array($user_tree_array))  $user_tree_array = array();
    $sql = "SELECT `id`,`user_type` FROM `users` WHERE `status` = 1 AND `sponser_id` = $parent   ORDER BY id ASC ";
    $query = $this->db->query($sql);

    if ($query->num_rows() > 0) {

        foreach ($query->result() as $key) {
            /*  $sef_intro = $this->getselfintroducer($key->id);*/
            $user_tree_array[] = array('id'=>$key->id);
            $user_tree_array = $this->countachiverfetchCategoryTreeList($key->id, $user_tree_array);
        }
    }
    return $user_tree_array;
}

0 个答案:

没有答案