【发布时间】:2017-02-14 13:08:28
【问题描述】:
我用 CodeIgniter 3.1.3 建立了一个网站,从昨天开始就遇到了这个问题我不知道我哪里做错了。它只是简单地使用简单的 jQuery @987654323 从数据库中获取数据@ 在视图中获取数据并将附加到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
【问题讨论】:
-
pokopoko.php 中第 25 行的内容
-
使用
$timee->format('Y-m-d H:i:s');并检查一次:-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>"; -
@JethroHazelhurst 就在 foreach 中的这一行:$timee = $kokok->timee;
-
这里一定有问题:
$kokok = $this->kokok_escape($kokok->kokok);删除该行并测试。 -
@JethroHazelhurst 不不,这是我自己的功能,绝对不是问题,因为 kokok(帖子文本)已成功出现在
div中。问题确实是$timee = $kokok->timee;行。当我发表评论时,没有发生错误。
标签: php mysql codeigniter datetime codeigniter-3