作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 codeigniter 工作。我想在父代理下显示父代理及其子代理。我的父代理数据是这样显示的
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是父agent代码,现在我想显示introducer_code为id为1的child agent。
我的代码是这样的。
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。它的结果是这样的。
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] => test@test.com
[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] =>
)
)
当我运行这段代码时,它什么也不显示。现在,我应该写什么代码来在代理下显示代理?
最佳答案
我对我的代码做了一点改动,现在它可以工作了。我的代码是:
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() 函数中我更改了这一行
$children = $this->build_child($result[$key]->id);
2)在 build_child($parent) 函数中我添加了查询
$query = $this->db->query("select * from agent where Introducer_code = '$parent'");
$result = $query->result();
3)我已经在 build_child($parent) 函数的 foreach 循环中返回了 $roles。
最后,它完美运行。
关于php - 在 codeigniter 中创建父树及其子树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30570477/
每个ParentedTree最多可以有一个父级。特别是,子树不能共享。任何尝试将单个 ParentedTree 重用为多个父级的子级(或同一父级的多个子级)的行为都将导致引发 ValueError 异
我是一名优秀的程序员,十分优秀!