Hy парней и девушек :). Вот моя проблема. У меня есть две таблицы в базе данных (пользователи и комментарии). Один пользователь может отправлять 1 или более комментариев. Я хочу получить данные из базы данных в формате JSON. Когда я retrive данные, я форматировать как этотСоздайте JSON в PHP
[{"username":"kurtMarko","message":"Kako si mama"},{"username":"kurtMarko","message":"kako si tata"},{"username":"kurtMarko","message":"kako si brate"},{"username":"kurtMarko","message":"kako si sestro"}]
, но я хочу, чтобы retrive данные, такие как
[{"username":"kurtMarko","message":[{"Kako si mama"},{"kako si tata"},{"kako si brate"},{"kako si sestro"}]]
У вас есть какие-либо идеи, предложения. Каждый комментарий мне поможет. Большое спасибо. Вот мой код
require("config.inc.php");
$query = "SELECT comments.message, users.username
FROM comments
LEFT JOIN users ON users.username = comments.username";
try {
$stmt = $db->prepare($query);
$result = $stmt->execute();
} catch(PDOException $ex){
$response["success"] = 0;
$response["message"] = "Database Error!";
die(json_encode($response));
}
$rows = $stmt->fetchAll();
if ($rows) {
$response = array();
foreach ($rows as $row) {
$post["username"]= $row["username"];
$post["message"] = $row["message"];
array_push($response, $post);
}
echo json_encode($response);
} else {
$response["success"] = 0;
$response["message"] = "No Post Available!";
die(json_encode($response));
}
'{" Kako si mama "}, {" kako si tata "}' это не json, и вы не можете создать его 'json_encode'. Только путем прямой манипуляции со строкой. – Cheery
@Cheery Хороший улов. Вероятно, он имел в виду «Како си маму», «како си тать» как элементы массива строк, а не как объекты. ОП вы можете подтвердить/опровергнуть? – thatidiotguy
JSON требует пару {ключ: значение}, поэтому {ключ} недействителен. Я хотел бы иметь ваши строки только в массиве: '[« Како си мама »,« како си тата »,« како си брата »,« како си сестро »]. Библиотека json должна быть в состоянии сделать это за вас. – NuclearPeon