2017-02-14 6 views
0

Я создаю сайт с CodeIgniter 3.1.3 и получил эту проблему со вчерашнего дня , и я понятия не имел, где я делаю это неправильно. Это просто просто получить данные из базы данных с простым jQuery $.post() в целях получения данных и будет добавлен в div.CodeIgniter не может эхо получить результат datetime

Все данные из таблицы базы данных успешно отображаются, кроме одного, даты и времени!

Модель:

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

Необработанное неформатированное datetime из базы данных («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

Что находится в строке 25 в pokopoko.php –

+0

Используйте формат '$ timee-> (' 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($data as $kokok) {

Так что $kokok испорчен из массива, замененного на строку.

Извините и поблагодарите вас за всех. : ')

+1

Не беспокойтесь, так мы учимся! –