Попытка собрать данные на стороне сервера из запроса pdo - PullRequest
0 голосов
/ 28 мая 2019

Мне нужно построить таблицу данных со стороны сервера, потому что у меня более 200 тыс. Строк, и у меня нет выбора, мне нужно сделать это из оператора execute, например:

$result['draw']=1;
$temp = BD::query('SELECT * FROM `ersmessages` WHERE 1 LIMIT 10');
$result['recordsTotal'] = sizeof($temp);
$result['recordsFiltered'] = sizeof($temp);
$result['data'] = $temp;

Нокогда я делаю это, что не выводит на экран мои результаты и для 200k строк это дает ошибку.Если я ограничу запрос, который работает, но на одной странице.

Мой JS выглядит следующим образом:

 $('#tableAllMessages').DataTable( {
        "processing": true,
        "serverSide": true,
        "paging": true,
        "searching": { "regex": true },
        "lengthMenu": [ [10, 25, 50, 100, -1], [10, 25, 50, 100, "All"] ],
        "pageLength": 10,
        "ajax": "req/getAllMessages.php"
    } );

Как мне получить таблицу данных с постраничными данными с 200k строками?Я не могу использовать ssp.

1 Ответ

0 голосов
/ 29 мая 2019

хорошо, проблема была решена, мне нужно было установить для recordsTotal мой максимальный размер (200k строк), и мне нужно было добавить смещение в запрос, чтобы я мог разбивать таблицу на части.

$offset = $_REQUEST['start'];
$result['recordsTotal'] = 200000;
$query = BD::query('SELECT * FROM `ersmessages` WHERE 1 ORDER BY `idERSMessage` ASC LIMIT 10 OFFSET '.intval($offset))
$result['data'] = $query;
$result['draw']=$_REQUEST['draw'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...