Php 具有多个foreach的访问角色不工作
我正在使用CodeIgniter和数据表 让我们先谈谈模型 我总共有4个访问角色,它们是Php 具有多个foreach的访问角色不工作,php,codeigniter-3,Php,Codeigniter 3,我正在使用CodeIgniter和数据表 让我们先谈谈模型 我总共有4个访问角色,它们是1,2,3,4,我在代码中显示如下 $this->session->userdata['login_session']['access_role']==4 我已经为access角色设置了会话。因此,在模型中,我首先检查访问角色,然后它将处理下一个角色 在模型中,1,2,4访问角色没有问题。我的意思是如果条件和否则条件工作正常 让我们讨论一下模型中访问角色3的elseif条件。在这种情况下,我会得
1,2,3,4
,我在代码中显示如下
$this->session->userdata['login_session']['access_role']==4
我已经为access角色设置了会话。因此,在模型中,我首先检查访问角色,然后它将处理下一个角色
在模型中,1,2,4
访问角色没有问题。我的意思是如果
条件和否则
条件工作正常
让我们讨论一下模型中访问角色3
的elseif
条件。在这种情况下,我会得到不止一张记录。我的输出是
因此,我在控制器中添加了多个foreach
foreach($order_list as $r) {
//foreach($order as $r) { }// This foreach is commented and If I remove comment then it's working but 1,2,4 not working
}
因此,我必须显示access角色3中的所有列表
型号
public function getCSRList($send_id){
if ($this->session->userdata['login_session']['access_role']==4) {
$this->db->select('*');
$this->db->from('tbl_customer');
$this->db->where('created_by',$send_id);
$query = $this->db->get();
$result_4 = $query->result();
return $result_4;
}
elseif ($this->session->userdata['login_session']['access_role']==3) {
$this->db->select('id');
$this->db->from('tbl_employee');
$this->db->where('team_leadername', $send_id);
$query = $this->db->get();
$result = $query->result();
if($result)
{
$result_2= array();
foreach($result as $id){
$this->db->select('*');
$this->db->from('tbl_customer');
$this->db->where('created_by',$id->id);
$query = $this->db->get();
$result_2[] = $query->result();
}
return $result_2;
}
else
{
return 0;
}
}
else{
$this->db->select('*');
$this->db->from('tbl_customer');
$query = $this->db->get();
$result = $query->result();
return $result;
}
}
控制器
public function order_listdetails(){
$send_id =$this->session->userdata['login_session']['id'];
$order_list=$this->Customer_model->getCSRList($send_id);//getting from model
// Datatables Variables
$draw = intval($this->input->get("draw"));
$start = intval($this->input->get("start"));
$length = intval($this->input->get("length"));
$data['draw'] = 1;
$recordsTotal = count($order_list);
$recordsFiltered = count($order_list);
$data = array();
$n=1;
if(is_array($order_list)){
foreach($order_list as $r) {
//foreach($order as $r) {// remove comment then working for 3 but not working for 1,2,4
$encryption_id=base64_encode($this->encryption->encrypt($r->cust_id));
if ($r->status == -1){
$order_status='<a href="#">Action name</a>';
}
elseif($r->status == 0){
$order_status='<a href="#">Action name</a>';
}
elseif($r->status == 1){
$order_status='<a href="#">Action name</a>';
}
else{
$order_status='<a href="#">Action name</a>';
}
if ($r->status_confirm == -1){
$order_status_confirm='<a href="#">Action name</a>';
}
elseif($r->status_confirm == 3){
$order_status_confirm='<a href="#">Action name</a>';
}
elseif($r->o_order_status_confirm == 1){
$order_status_confirm='<a href="#">Action name</a>';
}
elseif($r->o_order_status_confirm == 2){
$order_status_confirm='<a href="#">Action name</a>';
}
else{
$order_status_confirm="";
}
$action='<a href="#">Action name</a>';
if ($r->follow == 1) {
$follow='<a href="#">Action name</a>';
}
else{
$follow='<a href="#">Action name</a>';
}
$data[] = array(
"Sr_No" => $n,
"cust_id" =>$encryption_id,//encrpt the id
"Name"=>$r->c_firstname."".$r->c_lastname,
"Mobile"=>$r->c_mobileno,
"orderStatus"=>"<div class='in_oneLine'>".$order_status." ".$order_status_confirm."</div>",
"action"=>"<div class='in_oneLine'>".$action." ".$follow."</div>"
);
$n++;
}
}
//}
$output = array(
"draw" => $draw,
"recordsTotal" => $recordsTotal,
"recordsFiltered" =>$recordsFiltered,
"data" => $data
);
echo json_encode($output);
exit();
}
public function order\u listdetails(){
$send_id=$this->session->userdata['login_session']['id'];
$order_list=$this->Customer_model->getCSRList($send_id);//从模型获取
//数据表变量
$draw=intval($this->input->get(“draw”);
$start=intval($this->input->get(“start”);
$length=intval($this->input->get(“length”);
$data['draw']=1;
$recordsTotal=count($order\u list);
$recordsFiltered=计数($order\u list);
$data=array();
$n=1;
if(is_数组($order_list)){
foreach($order_列表为$r){
//foreach($r的订单){//删除注释,然后为3工作,但不为1,2,4工作
$encryption\u id=base64\u encode($this->encryption->encrypt($r->cust\u id));
如果($r->status==-1){
$order_status='';
}
elseif($r->status==0){
$order_status='';
}
elseif($r->status==1){
$order_status='';
}
否则{
$order_status='';
}
如果($r->status\u confirm==-1){
$order\u status\u confirm='';
}
elseif($r->status\u confirm==3){
$order\u status\u confirm='';
}
elseif($r->o\订单\状态\确认==1){
$order\u status\u confirm='';
}
其他($r->o\U订单状态\U确认==2){
$order\u status\u confirm='';
}
否则{
$order_status_confirm=“”;
}
$action='';
如果($r->follow==1){
$follow='';
}
否则{
$follow='';
}
$data[]=数组(
“Sr_No”=>n美元,
“cust_id”=>$encryption_id,//加密该id
“Name”=>$r->c_lastname。”“$r->c_lastname,
“移动”=>r->c_mobileno,
“订单状态”=>“.$order\u status.”“$order\u status\u confirm.”,
“action”=>“.$action.”“$follow.”
);
$n++;
}
}
//}
$output=array(
“draw”=>$draw,
“recordsTotal”=>$recordsTotal,
“recordsFiltered”=>$recordsFiltered,
“数据”=>$data
);
echo json_编码($output);
退出();
}
使用以下代码更新您的foreach代码
$data = array();
foreach($order_list as $order) {
if(is_array($order)){
foreach($order as $r) {
$encryption_id=base64_encode($this->encryption->encrypt($r->cust_id));
if ($r->status == -1){
$order_status='<a href="#">Action name</a>';
}elseif($r->status == 0){
$order_status='<a href="#">Action name</a>';
}elseif($r->status == 1){
$order_status='<a href="#">Action name</a>';
}else{
$order_status='<a href="#">Action name</a>';
}
if ($r->status_confirm == -1){
$order_status_confirm='<a href="#">Action name</a>';
}elseif($r->status_confirm == 3){
$order_status_confirm='<a href="#">Action name</a>';
}elseif($r->o_order_status_confirm == 1){
$order_status_confirm='<a href="#">Action name</a>';
}elseif($r->o_order_status_confirm == 2){
$order_status_confirm='<a href="#">Action name</a>';
}else{
$order_status_confirm="";
}
$action='<a href="#">Action name</a>';
if ($r->follow == 1) {
$follow='<a href="#">Action name</a>';
}else{
$follow='<a href="#">Action name</a>';
}
$data[] = array(
"Sr_No" => $n,
"cust_id" =>$encryption_id,//encrpt the id
"Name"=>$r->c_firstname."".$r->c_lastname,
"Mobile"=>$r->c_mobileno,
"orderStatus"=>"<div class='in_oneLine'>".$order_status." ".$order_status_confirm."</div>",
"action"=>"<div class='in_oneLine'>".$action." ".$follow."</div>"
);
$n++;
}
}else{
$encryption_id=base64_encode($this->encryption->encrypt($order->cust_id));
if ($order->status == -1){
$order_status='<a href="#">Action name</a>';
}elseif($order->status == 0){
$order_status='<a href="#">Action name</a>';
}elseif($order->status == 1){
$order_status='<a href="#">Action name</a>';
}else{
$order_status='<a href="#">Action name</a>';
}
if ($order->status_confirm == -1){
$order_status_confirm='<a href="#">Action name</a>';
}elseif($order->status_confirm == 3){
$order_status_confirm='<a href="#">Action name</a>';
}elseif($order->o_order_status_confirm == 1){
$order_status_confirm='<a href="#">Action name</a>';
}elseif($order->o_order_status_confirm == 2){
$order_status_confirm='<a href="#">Action name</a>';
}else{
$order_status_confirm="";
}
$action='<a href="#">Action name</a>';
if ($order->follow == 1) {
$follow='<a href="#">Action name</a>';
}else{
$follow='<a href="#">Action name</a>';
}
$data[] = array(
"Sr_No" => $n,
"cust_id" =>$encryption_id,//encrpt the id
"Name"=>$order->c_firstname."".$order->c_lastname,
"Mobile"=>$order->c_mobileno,
"orderStatus"=>"<div class='in_oneLine'>".$order_status." ".$order_status_confirm."</div>",
"action"=>"<div class='in_oneLine'>".$action." ".$follow."</div>"
);
$n++;
}
}
$data=array();
foreach($order_列表为$order){
if(is_数组($order)){
foreach($r订单){
$encryption\u id=base64\u encode($this->encryption->encrypt($r->cust\u id));
如果($r->status==-1){
$order_status='';
}elseif($r->status==0){
$order_status='';
}elseif($r->status==1){
$order_status='';
}否则{
$order_status='';
}
如果($r->status\u confirm==-1){
$order\u status\u confirm='';
}elseif($r->status\u confirm==3){
$order\u status\u confirm='';
}elseif($r->o\订单\状态\确认==1){
$order\u status\u confirm='';
}其他($r->o\U订单状态\U确认==2){
$order\u status\u confirm='';
}否则{
$order_status_confirm=“”;
}
$action='';
如果($r->follow==1){
$follow='';
}否则{
$follow='';
}
$data[]=数组(
“Sr_No”=>n美元,
“cust_id”=>$encryption_id,//加密该id
“Name”=>$r->c_lastname。”“$r->c_lastname,
“移动”=>r->c_mobileno,
“订单状态”=>“.$order\u status.”“$order\u status\u confirm.”,
“action”=>“.$action.”“$follow.”
);
$n++;
}
}否则{
$encryption_id=base64_encode($this->encryption->encrypt($order->cust_id));
如果($order->status==-1){
$order_status='';
}elseif($order->status==0){
$order_status='';
}elseif($order->status==1){
$order_status='';
}否则{
$order_status='';
}
如果($order->status\u confirm==-1){
$order\u status\u confirm='';
}elseif($order->status\u confirm==3){
$order\u status\u confirm='';
}elseif($order->o_order\u status\u confirm==1){
$order\u status\u confirm='';
}elseif($order->o_order\u status\u confirm==2){
$order\u status\u confirm='';
}否则{
$order_status_confirm=“”;
}
$action='';
如果($order->follow==1){
$follow='';
}否则{
$follow='';
}
$data[]=数组(
“Sr_No”=>n美元,
“cust_id”=>$encryption_id,//加密该id
“Name”=>$order->c_firstname。”“$order->c_lastname,
“移动”=>$order->c_mobileno,
“订单状态”=>“.$order\u status.”“$order\u status\u confirm.”,
“action”=>“.$action.”“$follow.”
);
$n++;
}
}
从哪里获得$orderdata@Sachin,我试过foreach($order_list as$order){foreach($order as$r){}}它工作了..但对1,2,4不起作用,所以你想在打印的数组上检索吗?是的,没错。即使我是从模型中得到的,但无法在控制器中显示。您能否以文本而不是图像形式共享打印的数组,以便我可以为您提供正确的解决方案给我一些时间了解y