我从数据库中获取值并且当我使用print_r时成功显示了值但是当我尝试回显值时出现错误它给出了错误消息:
未定义的索引: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';
?>
请原谅,因为我是新手!提前致谢
答案 0 :(得分:1)
更改模型中的return $query->result();
,如下所示
return $query->result_array();
** return $query->result();
这将作为对象返回。如果要使用此功能,请访问echo $query->return_date;
答案 1 :(得分:1)
您在MODEL中使用result()
函数来获取记录,这会将数据返回到不在数组中的对象形式。
此:
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'];
}
?>
这篇文章将帮助您理解这两个功能:codeigniter, result() vs. result_array()
答案 2 :(得分:1)
$query->result()
会返回一个对象数组,因为它不知道是否应该是1个结果或100,000个结果。要获取单个结果,请改为使用$query->row()
。
但是仍然可以将结果作为对象而不是数组提供给你,所以如果你想在视图中使用$query['return_date']
,你可以使用$query->row_array()
来获取行一个数组。
答案 3 :(得分:0)
在您的控制器中进行以下更改。
$run['data']=$this->Time->timecalculations($table);
$this->load->view('Books/datetime',$run);
在您的视图页面
echo $data[0]['return_date'];