Всем привет!
Есть таблица, в которой хранятся записи пользователей.
Запросить записи из БД не составляет труда
SELECT * FROM `wall` WHERE `user_id` = 333
.
Но проблема в том, что у каждой записи могут быть прикреплены
изображения и
видео, которые хранятся в таблицах
images и
videos соответственно.
Выходит, что при выборке скажем сотни записей получается грубо такой код:
$res = $db->query("SELECT * FROM `wall` WHERE `user_id` = 333");
while($row = $res->fetch_assoc()){
// получаем изображения если есть
$imgs = $db->query("SELECT * FROM `images` WHERE `wall_id` = $row['id']");
// получаем видео если есть
$videos = $db->query("SELECT * FROM `videos` WHERE `wall_id` = $row['id']");
}
Получается дл каждой записи дополнительно 2 запроса, в итоге на 100 записей - 200 запросов, в результат хочу получить вот такой:
{
"response": {
"count": 1067,
"items": [{
"id": 56465464,
"title": "название записи",
"attachment": [{
"type": "image",
"id": 213113,
"link": "/uploads/images/imagename.jpg"
}]
}],
}
}