Проблема с эхо-значениями из базы данных - PullRequest
0 голосов
/ 26 сентября 2011

Я вставил в строку значений таблицы базы данных, теперь я хочу отобразить их с помощью json_encode, но у меня появляется следующая ошибка:

PHP:

$name_tour = $this->input->post('tour_name');
$query     = $this->db->query("SELECT * FROM tour_foreign WHERE name LIKE '$name_tour' ORDER BY id desc");
$data      = array();
foreach ($query->result() as $row) {
    $data_rp = json_decode($row->residence_p, true);
    $data[]  = array(
        'residence_p' => $data_rp,
    );
}
echo json_encode($data);
echo '<p>';
var_dump($data);

Выходной код выше php:

[{"residence_p":null}] // This is output of json_encode($data)

array(1) { [0]=> array(1) { ["residence_p"]=> NULL } } // This is output of var_dump($data)

Данные в базе данных: (эта вставка данных по json_encode)

[{
    "start_date": ["1111", "2222"],
    "end_date": ["1111", "2222"],
    "price_change": ["1111", "2222"]
}, {
    "start_date": ["3333", "444"],
    "end_date": ["3333", "4444"],
    "price_change": ["3333", "4444"]
}, {
    "start_date": ["5555", "6666"],
    "end_date": ["5555", "6666"],
    "price_change": ["5555", "6666"]
},]

Что мне делать?

Ответы [ 2 ]

0 голосов
/ 26 сентября 2011

Вы должны удалить , перед последним ], в противном случае данные являются недействительными JSON, которые не могут быть правильно проанализированы с помощью json_decode().

0 голосов
/ 26 сентября 2011

Зачем вы это делаете?

$data_rp = json_decode($row->residence_p, true);

Вы действительно хранили данные JSON в своей базе данных?Я сомневаюсь в этом, но если вы не сделали!Это наносит ущерб всей цели иметь базу данных со столбцами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...