我用CodeIgniter 3.1.3建立了一个网站,从昨天开始就遇到了这个问题,我也不知道我在哪里做错了。只需在视图中使用简单的jQuery $.post()
从数据库中简单地获取数据即可获取数据,并将其追加到div
中。
数据库表中的所有数据都成功显示,但日期时间除外!
模型:
public function get_new_kokok($option) {
if ($option['last_showed']) {
$query = $this->db->query("SELECT * FROM kokok WHERE id_kokok>$option[last_showed] AND privacy=1 ORDER BY id_kokok ASC LIMIT 1");
} else {
$query = $this->db->query("SELECT * FROM kokok WHERE id_kokok=(SELECT MAX(id_kokok) FROM kokok WHERE privacy=1)");
}
return $query->result();
}
控制器:
$data = $this->model->get_new_kokok(array('last_showed'=>$this->input->post('last_showed')));
foreach($data as $kokok) {
$id_kokok = $kokok->id_kokok;
$id_user = $kokok->id_user;
$kokok = $this->kokok_escape($kokok->kokok);
$fullname = $this->model->get_userinfo('fullname',$id_user);
$timee = $kokok->timee;
//$time = date('h:i A',strtotime($timee));
echo "<div class=\"clearfix\">";
echo "<div class=\"kokokan\" data-id-kokok=\"$id_kokok\" style=\"display:none\"><p>$kokok</p><small><a href=\"".base_url()."yay/profile/$id_user\">$fullname</a> • $timee</small></div>";
echo "</div>";
}
我有:
来自数据库的原始未格式化日期时间(“ 2017-02-09 13:46:57”)应该出现在名称“ Elena Chereishline”的右下角,但事实并非如此。
第25行是:
$timee = $kokok->timee;
当我评论该行时,不会发生任何错误。
遇到PHP错误
严重程度:注意
消息:试图获取非对象的属性
var_dump:
array(1) {
[0]=> object(stdClass)#22 (11) {
["id_kokok"]=> string(1) "3"
["id_user"]=> string(1) "2"
["kokok"]=> string(57) "Aku punya anak lho, maksudku anak ayam :v #gaadayangnanya"
["react_like"]=> NULL
["react_love"]=> NULL
["react_fun"]=> NULL
["react_meh"]=> NULL
["react_mad"]=> NULL
["react_sad"]=> NULL
["privacy"]=> string(1) "1"
["timee"]=> string(19) "2017-02-09 13:46:57"
}
}
所以我的问题是,这是什么或为什么发生?如何解决呢?我很困惑_(:“ 3
最佳答案
在您的foreach
循环内部,您正在重新分配应该作为对象的$kokok
。
您正在重新分配$kokok = $kokok->kokok
。那是对象的一个属性...所以现在当您尝试访问$kokok
时,它不再是kokok
对象,而是原始kokok
对象的属性... $kokok->kokok
。
不知道您的函数$this->kokok_escape();
有什么作用,就无法进一步提供帮助。
您可以尝试:
$kokok = $this->kokok_escape($kokok);