【问题标题】:print query values from session to view error Undefined index: DCM_TITLE从会话打印查询值以查看错误未定义索引:DCM_TITLE
【发布时间】:2020-10-15 14:21:34
【问题描述】:

我是 CodeIgniter 的新手。

我的控制器中有两个功能。在一个 post 方法中,我创建数据数组,然后将该数组放入会话。在另一个函数中,我需要另一个值,例如标题或日期(因为在会话中我只有 ID 值),所以我将 ID 值发送到模型函数,然后我用我需要的数据加载视图。然后在视图中我打印出我需要的数据。但我收到一个错误提示

消息:未定义索引:DCM_TITLE

控制器功能代码:

 public function visi_registravimas(){
    $this->output->enable_profiler(TRUE);
    $DCM_ID = $_SESSION['DCM_ID'];
    $PRD_ID = $_SESSION['PRD_ID'];
    $result['documents'] = $this->Skaitikliu_registras_model->setDocument($DCM_ID);
    $result['periods'] = $this->Skaitikliu_registras_model->setPeriod($PRD_ID);
    $this->load->view('skaitikliu_registras/visi_registravimas_view',$result);    
}

型号:

public function setDocument($DCM_ID){
    $query = $this->db->query("SELECT * FROM RA_DOCUMENT WHERE DCM_ID='$DCM_ID'");
    
    return $query;
}

public function setPeriod($PRD_ID){
    $query = $this->db->query("SELECT * FROM RA_PERIOD WHERE PRD_ID='$PRD_ID'");

    return $query;
}

这就是我在视图中打印数据的方式:

<body>
    <?php $this->load->view('navbar_view'); ?>
    <?php foreach($documents as $document) : ?>
        <?php echo  $document['DCM_TITLE']; ?>
    <?php endforeach ?> 
</body>

【问题讨论】:

    标签: php codeigniter session view model


    【解决方案1】:

    在模型查询中更改:

    return $query;
    
    return $query->result_array();
    

    result_array()以纯数组格式返回查询结果。

    注意:- 有关此的更多信息

    https://codeigniter.com/userguide3/database/results.html

    【讨论】:

    • 非常感谢!
    【解决方案2】:

    要扩展 @KUMAR 答案,我还建议开始使用查询生成器,而不是自己编写查询。

    这是一个很好的做法,因此如果在任何情况下您将数据库从 MYSQL 更改为 postgresql 或任何其他数据库引擎,您都不需要更改任何有关模型的内容。

    在这种情况下,您的模型函数将如下所示:

    public function setDocument($DCM_ID){
        $q = $this->db->where('DCM_ID', $DCM_ID)->get('RA_DOCUMENT');
        return $q->result_array();
    }
    
    public function setPeriod($PRD_ID){
        $q = $this->db->where('PRD_ID', $PRD_ID)->get('RA_PERIOD');
        return $q->result_array();
    }
    

    这样您可以获得更简洁的代码和可以维护更长时间的代码。

    【讨论】:

      猜你喜欢
      • 2015-03-06
      • 2020-10-19
      • 1970-01-01
      • 2019-07-25
      • 2014-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多