在codeigniter中创建父级及其子级树

在codeigniter中创建父级及其子级树

本文介绍了在codeigniter中创建父级及其子级树的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在codeigniter中工作。我想在父代理下显示父代理及其子代理。
我的父级代理数据显示如下

I am working in codeigniter.I want to display parent agent and its child agent under the parent agent.My parent agent data display like this

Array
(
[0] => stdClass Object
    (
        [id] => 1
        [Introducer_code] => 0
        [Designation] => 2
        [Cader] =>
        [Code] =>
        [Name] => Vinod
        [Area] =>
        [D_W_S] => Rajendra
        [Gender] => Male
        [Dob] => 2014-12-01
        [age] => 25
        [mobile_no] => 123456789
        [Village] => vadodara road
        [city] => vadodara
        [District] => vadodara
        [State] => 1
        [Pincode] => 391212
        [PAN] => BCD1234587
        [Nominee] => Rajendra
        [N_Relation] => Father
        [N_age] => 35
        [D_O_J] => 2014-12-22
        [amount] => 100
        [Bank_acc] => 0123467
        [Bank_add] => vadodara
        [branch_id] => 102
        [uname] =>
        [pass] =>
        [enc_pass] => d41d8cd98f00b204e9800998ecf8427e
        [agent_id] =>
        [profile_Pic] =>
    )

)

此处Introducer_code是父代理代码。现在,我想显示其引入代码为1的子代理。

Here Introducer_code is parent agent code.Now I want to display child agent whose introduce code is id as 1.

我的代码是这样的。

public function get_agent_tree_commision()
{

    $query = $this->db->query("select * from agent where id = '1'");

    $result = $query->result();
    echo "<pre>";
    print_r($result);

    $roles = array();

    foreach($result as $key=>$value)
    {

        if($result[$key]->Introducer_code != 0)
        {

            $role = array();

            $role['id'] = $result[$key]->id;

            $role['Name'] = $result[$key]->Name;

            $children = $this->build_child($result, $result[$key]->id);

            //print_r($children);

            if( !empty($children) ) {

                $role['children'] = $children;

            }

            $roles[] = $role;

        }

    }

    return $roles;

    //$this->load->view("cashier/get_agent_tree_commision");
}

public function build_child($result, $parent)
{
    $roles = array();

    foreach($result as $key => $val) {

        if($result[$key]->Introducer_code == $parent) {
            $role = array();

            $role['role_id'] = $result[$key]->id;
            $role['role_name'] = $result[$key]->Name;

            $children = $this->build_child($result, $result[$key]->id);

            if( !empty($children) ) {

                $role['children'] = $children;

            }
            $roles[] = $role;

            return $roles;
        }
    }

}

我有四个子代理,其引入者代码为1。其结果是这样的。

I have four child agent whose introducer code is 1. And its result like this.

Array
(
[0] => stdClass Object
    (
        [id] => 2
        [Introducer_code] => 1
        [Designation] => 1
        [Cader] =>
        [Code] =>
        [Name] => Nisarg Bhavsar
        [Area] =>
        [D_W_S] => Bhavsar
        [Gender] => Male
        [Dob] => 2014-12-01
        [age] => 19
        [mobile_no] => 123456789
        [Village] => vadodara road
        [city] => vadodara
        [District] => vadodara
        [State] => 1
        [Pincode] => 391212
        [PAN] => BCD1234587
        [Nominee] => Bhavsar
        [N_Relation] => Father
        [N_age] => 35
        [D_O_J] => 2014-12-22
        [amount] => 100
        [Bank_acc] => 0123467
        [Bank_add] => vadodara
        [branch_id] => 11
        [uname] =>
        [pass] =>
        [enc_pass] => d41d8cd98f00b204e9800998ecf8427e
        [agent_id] =>
        [profile_Pic] =>
    )

[1] => stdClass Object
    (
        [id] => 3
        [Introducer_code] => 1
        [Designation] => 1
        [Cader] =>
        [Code] =>
        [Name] => test1
        [Area] =>
        [D_W_S] => test
        [Gender] => Male
        [Dob] => 2004-12-01
        [age] => 25
        [mobile_no] => 123456789
        [Village] => vadodara road
        [city] => vadodara
        [District] => vadodara
        [State] => 1
        [Pincode] => 391212
        [PAN] => BCD1234587
        [Nominee] => test
        [N_Relation] => Father
        [N_age] => 40
        [D_O_J] => 2014-12-26
        [amount] => 100
        [Bank_acc] => 0123467
        [Bank_add] => vadodara
        [branch_id] => 11
        [uname] =>
        [pass] =>
        [enc_pass] => d41d8cd98f00b204e9800998ecf8427e
        [agent_id] =>
        [profile_Pic] =>
    )

[2] => stdClass Object
    (
        [id] => 4
        [Introducer_code] => 1
        [Designation] => 1
        [Cader] =>
        [Code] =>
        [Name] => Test
        [Area] =>
        [D_W_S] => Modi
        [Gender] => Male
        [Dob] => 1985-04-01
        [age] => 21
        [mobile_no] => 2147483647
        [Village] => Near Petrol Pump
        [city] => Vadodara
        [District] => Vadodara
        [State] => 1
        [Pincode] => 391300
        [PAN] => GDT126985
        [Nominee] => Tester
        [N_Relation] => Father
        [N_age] => 45
        [D_O_J] => 2015-04-14
        [amount] => 100
        [Bank_acc] =>
        [Bank_add] =>
        [branch_id] => 112
        [uname] => [email protected]
        [pass] => 1234
        [enc_pass] => 81dc9bdb52d04dc20036dbd8313ed055
        [agent_id] =>
        [profile_Pic] =>
    )

[3] => stdClass Object
    (
        [id] => 5
        [Introducer_code] => 1
        [Designation] => 1
        [Cader] =>
        [Code] =>
        [Name] => BHUMI
        [Area] =>
        [D_W_S] => BHUMI
        [Gender] => Female
        [Dob] => 2015-04-16
        [age] => 5
        [mobile_no] => 2147483647
        [Village] => VALSAD
        [city] => VALSAD
        [District] => VALSAD
        [State] => 1
        [Pincode] => 396001
        [PAN] => ABFCJH9798H
        [Nominee] => BHUMI
        [N_Relation] => OTHER
        [N_age] => 05
        [D_O_J] => 2015-04-15
        [amount] => 0
        [Bank_acc] =>
        [Bank_add] =>
        [branch_id] => 112
        [uname] =>
        [pass] =>
        [enc_pass] =>
        [agent_id] =>
        [profile_Pic] =>
    )

)

当我运行此代码时,它将显示没有。
现在,我必须写什么代码才能在agent下显示display agent?

When I run this code it display nothing.Now, what code should I have to write to display agent under agent?

推荐答案

我做了些改动在我的代码中,现在可以正常工作了。
我的代码是:

I have changed little bit change in my code and now it working.My code is :

public function get_agent_tree_commision()
{
    $query = $this->db->query("select * from agent where id = '1'");

    $result = $query->result();

    $roles = array();

    foreach($result as $key=>$value)
    {

            $role = array();

            $role['id'] = $result[$key]->id;

            $role['Name'] = $result[$key]->Name;

            $children = $this->build_child($result[$key]->id);

            if( !empty($children) ) {

                $role['children'] = $children;

            }
            $roles['role'] = $role;

    }

    $this->load->view("cashier/get_agent_tree_commision",$roles);
}

public function build_child($parent)
{
    $query = $this->db->query("select * from agent where Introducer_code = '$parent'");

    $result = $query->result();

    $roles = array();

    foreach($result as $key => $val) {

        if($result[$key]->Introducer_code == $parent) {
            $role = array();

            $role['id'] = $result[$key]->id;
            $role['Name'] = $result[$key]->Name;

            $children = $this->build_child($result[$key]->id);

            if( !empty($children) ) {

                $role['children'] = $children;

            }
            $roles[] = $role;
        }
    }
    return $roles;

}

更改:

1)在get_agent_tree_cummision()函数中,我已更改此行

1)In get_agent_tree_cummision() function I have changed this line

$children = $this->build_child($result[$key]->id);

2)在build_child($ parent)函数中,我添加了查询

2)In build_child($parent) function I have added query

$query = $this->db->query("select * from agent where Introducer_code = '$parent'");

$result = $query->result();

3)然后我在build_child($ parent)函数的foreach循环中返回了$ roles。

3)And I have return $roles out of the foreach loop in build_child($parent) function.

最后,它可以完美运行。

Finally, it works perfect.

这篇关于在codeigniter中创建父级及其子级树的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-01 18:51