即使从数据库中获取值后,在 codeigniter 3 中获取未定义的索引 return 日期?
getting an undefined index return date in codeigniter 3 even after getting values from database?
我正在从数据库中获取值,当我使用 print_r 时,这些值已成功显示,但是当我尝试回显这些值时出现错误,它给我一条错误消息:
Undefined index: return_date
我的控制器代码如下
public function latebooks(){
$now = date('m/d/Y');
$this->load->model('Time');
$id=$this->session->userdata('userid');
$this->load->model('Department');
$table=$this->Department->selecttable($id);
foreach($table as $q){}
$table = $q->department_name;
$table = strtolower($table);
$run=$this->Time->timecalculations($table);
print_r($run);
$this->load->view('Books/datetime',['query'=>$run]);
}
我的模型代码如下:
public function timecalculations($table){
$query= $this->db->get_where('issue_books',array('department_id'=>$table));
return $query->result_array();
}
而视图中的代码如下
<?php
/**
* Created by PhpStorm.
* User: workspace
* Date: 05-10-2016
* Time: 13:46
*/
include 'header.php';
?>
<br /><br />
<?php
echo $query['return_date'];
?>
<?php
include 'footer.php';
?>
新手请见谅!谢谢
按如下方式在您的模型中更改此 return $query->result();
return $query->result_array();
** return $query->result();
这个 returns 作为对象。如果要使用它,请访问 echo $query->return_date;
之类的数据
您正在模型中使用 result()
函数获取记录,这会将 return 数据转换为对象形式而不是数组形式。
这个:
echo $query['return_date'];
应该是:
echo $query->return_date;
修改问题后,您必须检查 print_r($run)
.
中得到了什么
如果你有多维数组中的数据而不是你可以在这里使用循环,这将打印所有具有一条或多条记录的数据。
<?php
foreach ($query as $key => $value) {
echo $value->return_date;
}
?>
如果你想使用 result_array()
函数,你可以这样使用:
<?php
foreach ($query as $key => $value) {
echo $value['return_date'];
}
?>
此 post 将帮助您理解这两个函数:codeigniter, result() vs. result_array()
$query->result()
returns 一个对象数组,因为它不知道应该有 1 个结果还是 100,000 个结果。要只获取一个结果,您可以使用 $query->row()
。
但这仍然会给你结果作为一个对象而不是一个数组,所以如果你想在你的视图中使用 $query['return_date']
,你会使用 $query->row_array()
来获取行作为一个数组。
在您的控制器中进行以下更改。
$run['data']=$this->Time->timecalculations($table);
$this->load->view('Books/datetime',$run);
在您的浏览页面中
echo $data[0]['return_date'];
我正在从数据库中获取值,当我使用 print_r 时,这些值已成功显示,但是当我尝试回显这些值时出现错误,它给我一条错误消息:
Undefined index: return_date
我的控制器代码如下
public function latebooks(){
$now = date('m/d/Y');
$this->load->model('Time');
$id=$this->session->userdata('userid');
$this->load->model('Department');
$table=$this->Department->selecttable($id);
foreach($table as $q){}
$table = $q->department_name;
$table = strtolower($table);
$run=$this->Time->timecalculations($table);
print_r($run);
$this->load->view('Books/datetime',['query'=>$run]);
}
我的模型代码如下:
public function timecalculations($table){
$query= $this->db->get_where('issue_books',array('department_id'=>$table));
return $query->result_array();
}
而视图中的代码如下
<?php
/**
* Created by PhpStorm.
* User: workspace
* Date: 05-10-2016
* Time: 13:46
*/
include 'header.php';
?>
<br /><br />
<?php
echo $query['return_date'];
?>
<?php
include 'footer.php';
?>
新手请见谅!谢谢
按如下方式在您的模型中更改此 return $query->result();
return $query->result_array();
** return $query->result();
这个 returns 作为对象。如果要使用它,请访问 echo $query->return_date;
您正在模型中使用 result()
函数获取记录,这会将 return 数据转换为对象形式而不是数组形式。
这个:
echo $query['return_date'];
应该是:
echo $query->return_date;
修改问题后,您必须检查 print_r($run)
.
如果你有多维数组中的数据而不是你可以在这里使用循环,这将打印所有具有一条或多条记录的数据。
<?php
foreach ($query as $key => $value) {
echo $value->return_date;
}
?>
如果你想使用 result_array()
函数,你可以这样使用:
<?php
foreach ($query as $key => $value) {
echo $value['return_date'];
}
?>
此 post 将帮助您理解这两个函数:codeigniter, result() vs. result_array()
$query->result()
returns 一个对象数组,因为它不知道应该有 1 个结果还是 100,000 个结果。要只获取一个结果,您可以使用 $query->row()
。
但这仍然会给你结果作为一个对象而不是一个数组,所以如果你想在你的视图中使用 $query['return_date']
,你会使用 $query->row_array()
来获取行作为一个数组。
在您的控制器中进行以下更改。
$run['data']=$this->Time->timecalculations($table);
$this->load->view('Books/datetime',$run);
在您的浏览页面中
echo $data[0]['return_date'];