【问题标题】:nested if in controller嵌套在控制器中
【发布时间】:2021-03-01 16:48:46
【问题描述】:

我有嵌套的控制器,如果出现条件我的问题显示不同的视图我的问题它显示我的第一个视图(view_admin)如果条件只发生第一个条件,否则如果出现“会计”或“支持”等任何条件,它给我最后一个else 查看(查看-询问)任何帮助

代码:

   if($user_info->privilege == "admin"){
    $this->load->view('dash/view_admin',$data);
    
    }
    else if($user_info->privilege == "accountant"){

    $this->load->view('dash/view_accountant',$data);
    
    }
    else if($user_info->privilege = "support"){

    $this->load->view('dash/view_support',$data);
    }
    
    else {

    $this->load->view('dash/view-ask',$data);
    }
    

【问题讨论】:

  • 您是否尝试转储$user_info->privilege 以查看它在提供不正确视图的情况下实际包含的内容?此外,仅出于教育目的,这不是嵌套的 if。嵌套的 if 意味着您在另一个 if 中有一个 if,而不是 if-elseif 语句链。
  • 是的。很好,它给出了正确的值
  • 我刚刚注意到您有 $user_info->privilege = "support",您正在那里重新分配值而不是比较。
  • 另外,你确定这个值是一样的吗? "Accountant" 将不匹配 "accountant"
  • @El_Vanja 是的,你是对的。

标签: php codeigniter model-view-controller controller


【解决方案1】:

在您的第三种情况下,您缺少 "="

else if($user_info->privilege = "support"){

    $this->load->view('dash/view_support',$data);
    }

做这个

 else if($user_info->privilege == "support"){

    $this->load->view('dash/view_support',$data);
    }

试试这个。

如果问题没有解决var_dump($user_info->privilege); 并将输出添加到问题

祝你好运

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-12
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 2018-03-24
    相关资源
    最近更新 更多