【问题标题】:CodeIgniter - displaying view based on variable from databaseCodeIgniter - 基于数据库中的变量显示视图
【发布时间】:2020-07-26 18:17:27
【问题描述】:

我最近一直在学习 codeigniter,并试图推出一个应用程序。我遇到了显示视图的 if else 语句的问题。我正在尝试从数据库ci_admin_info 中提取 in_party 并根据其设置为 1 或 0 来显示视图。它绕过任何条件并仅显示第一个视图集。

型号

function get_in_par(){
        
        $this->db->select('in_party');
        $this->db->from('ci_admin_info');
        $query = $this->db->get();
        $ret = $query->row();
        return $ret->in_party;
        
            
    }

控制器

public function index(){

        $data['title'] = 'Party';
        $data['party'] = $this->party_model->get_party();
        $data['prov'] = $this->party_model->get_prov_name();
        $data['info'] = $this->party_model->get_all();
        $data['res'] = $this->party_model->get_party_res();
        $data['rank'] = $this->party_model->get_pa_rank();


        $this->load->view('admin/includes/_header', $data);
        
        
        
        $inpar = $this->party_model->get_in_par();
        
        if(isset($inpar['in_party'])==0){
            
        $this->load->view('admin/party/join');
            
        } else {
            
        $this->load->view('admin/party/index'); 
        
        }

        $this->load->view('admin/includes/_footer');

    }

我也尝试将其重新排列到父构造中,但它完全绕过了它。如果 in_party = 0 只是试图让它加载连接视图。我试过没有 isset 也绕过它。我试过 switch 但不认为它也注册了。我想我的模型中缺少一些东西

【问题讨论】:

    标签: database codeigniter if-statement view


    【解决方案1】:
    $query = $this->db->select('*')
          ->from('ci_admin_info')
          ->get();
    $result = $query->result_array();
    return $result[0];
    
    $inpar = $this->party_model->get_in_par();        
    if(!isset($inpar['in_party']) || $inpar['in_party']=="0"){....
    
    

    【讨论】:

    • 这样做的合适方法是什么?我试过result_arrayrow_array我取出返回值,但如果显示0或1仍然无法接收,我将如何设置模块和控制器来读取这个?我还在学习
    • 我试过这个,但即使值为0,它也指向索引。
    • 哦,原来如此。 isset() 检查变量是否未定义或为空。但即使变量的值为 0,它也是正确的。我已经更新了答案。检查一次。
    • 它仍然显示值为0的索引。有没有办法验证null?如果为空,那显示加入?还是将值更改为 TRUE 或 FALSE 会更好?
    • 这样做,var_dump($inpar); var_dump(!isset($inpar['in_party']));并将输出粘贴到此处。
    猜你喜欢
    • 1970-01-01
    • 2021-10-09
    • 1970-01-01
    • 2021-05-23
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    相关资源
    最近更新 更多