День добрый! На данный момент есть SQL запрос который возвращает массив с данными в JSON Код (Text): [ { "id": "114", "url": "1181749", "published": "2019-06-16 17:06:22", "modified": null, ... }, {}, {} ] Решил создать пагинацию на стороне клиента (ReactJS), а для этого нужно знать сколько записей в таблице, и получить что-то вроде этого: Код (Text): { "total": 46, [ { "id": "114", "url": "1181749", "published": "2019-06-16 17:06:22", "modified": null, ... }, {}, {} ] } Написал запрос (пример по сылке), но получаю total в каждой записи в массиве https://www.db-fiddle.com/f/moxNtNVFRkdNX4vy5fbp5B/1 Код (Text): { [ { "total": "46", "id": "114", "url": "1181749", "published": "2019-06-16 17:06:22", "modified": null, ... }, {}, {} ] Как можно решить данную проблему? Заранее спасибо!
@Ion Prodan Ты неправильно пользуешься db-fiddle. Подразумевается что в первом текстовом поле (Schema SQL) создаются таблицы и заполняются тестовыми данными, а ты туда воткнул select который по-идее должен быть во втором поле (Query SQL) А так ему неоткуда брать данные. Таким манером ты мог бы сразу на форум выложить текст запроса --результат тот же, но по ссылке не надо ходить. Короче, чтобы получить общее количество записей надо выполнить отдельный запрос с COUNT(*), а не подзапрос. Затем делается запрос пачки записей с LIMIT m, n. Так устроена пагинация. Посмотри примеры, их миллион.
Про db-fiddle спасибо, первый раз вчера пользовался, так что не знал как правильно. Решил проблему добавив ещё один запрос, а потом возвращаю JSON как-то так: Код (Text): $data->items = $items; $data->total = $total2; echo json_encode($data); Хотя, по какой-то причине ругается Код (Text): Creating default object from empty value in $data->items = $items; Пока что просто добавил @ в начале строки, а дальше уже посмотрим как исправить. Спасибо за помощь!