从 session 打印查询值以查看错误未定义索引:DCM_TITLE
print query values from session to view error Undefined index: DCM_TITLE
我是 CodeIgniter 新手。
我的控制器中有两个函数。在使用 post 方法的方法中,我创建了数据数组,然后将该数组放入 session。在另一个函数中,我需要另一个值,如标题或日期(因为在 session 中我只有 ID 值),所以我将 ID 值发送到模型函数,然后我用我需要的数据加载视图。然后在视图中打印出我需要的数据。但是我收到一条错误消息
Message: Undefined index: 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;
}
这就是我在 view 中打印数据的方式:
<body>
<?php $this->load->view('navbar_view'); ?>
<?php foreach($documents as $document) : ?>
<?php echo $document['DCM_TITLE']; ?>
<?php endforeach ?>
</body>
在模型查询中更改:
return $query;
return $query->result_array();
result_array() returns查询结果为纯数组格式。
注意:- 有关此的更多信息
为了扩展 答案,我还建议开始使用查询生成器,而不是自己编写查询。
这是一个很好的做法,因此如果您在任何情况下将数据库从 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();
}
通过这种方式,您可以获得更清晰的代码和可以维护更长时间的代码。
我是 CodeIgniter 新手。
我的控制器中有两个函数。在使用 post 方法的方法中,我创建了数据数组,然后将该数组放入 session。在另一个函数中,我需要另一个值,如标题或日期(因为在 session 中我只有 ID 值),所以我将 ID 值发送到模型函数,然后我用我需要的数据加载视图。然后在视图中打印出我需要的数据。但是我收到一条错误消息
Message: Undefined index: 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;
}
这就是我在 view 中打印数据的方式:
<body>
<?php $this->load->view('navbar_view'); ?>
<?php foreach($documents as $document) : ?>
<?php echo $document['DCM_TITLE']; ?>
<?php endforeach ?>
</body>
在模型查询中更改:
return $query;
return $query->result_array();
result_array() returns查询结果为纯数组格式。
注意:- 有关此的更多信息
为了扩展
这是一个很好的做法,因此如果您在任何情况下将数据库从 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();
}
通过这种方式,您可以获得更清晰的代码和可以维护更长时间的代码。