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] =>
)
)
Here Introducer_code is parent agent code.Now I want to display child agent whose introduce code is id as 1.
My code is like this.
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;
}
}
}
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] =>
)
)
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;
}
changes:
1)In get_agent_tree_cummision() function I have changed this line
$children = $this->build_child($result[$key]->id);
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)And I have return $roles out of the foreach loop in build_child($parent) function.
Finally, it works perfect.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With