2017-02-14 9 views
0

我建立了一個CodeIgniter 3.1.3網站,自從昨天得到這個問題,我不知道我在哪裏做錯了。它只是簡單的從數據庫中獲取數據與簡單的jQuery $.post()在視圖中獲取數據並將被追加到divCodeIgniter無法回顯日期時間結果

數據庫表中的所有數據都成功顯示,除了一個日期時間!

型號:

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>"; 
} 

我:

Result of the first try

來自數據庫的原始未格式化日期時間(「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

+0

pokopoko.php第25行是什麼? –

+0

使用'$ timee-> format('Ymd H:i:s');'並且一旦檢查:''echo'

$kokok

$fullname $timee
「;' –

+0

@JethroHazelhurst只是這行內的foreach:$ timee = $ kokok-> timee; –

回答

0

裏面你foreach循環您重新分配$kokok這應該是一個對象

您重新分配$kokok = $kokok->kokok這是你的對象的屬性。 ..所以現在當你嘗試訪問$kokok它不再是kokok對象,而是原來的kokok對象的屬性...... $kokok->kokok

不知道你的功能$this->kokok_escape();確實沒有辦法進一步幫助。

你可以嘗試:

$kokok = $this->kokok_escape($kokok); 
0

最後我知道自己的問題的答案。由於@JethroHazelhurst誰善於觀察和注意到有什麼不對這一行:

$kokok = $this->kokok_escape($kokok->kokok);

呀,我用的變量名$kokok = ...$kokok是用於通過的foreach循環變量:

foreach($data as $kokok) {

所以$kokok是從數組中被替換爲字符串搞砸了。

對不起,很感謝大家。 :')

+1

不用擔心,這是我們如何學習! –

相關問題