Пагинация

Доброго времени суток. Возник вопрос следующего характера. У меня есть страница на которую выводится информация из БД, в которой несколько сотен записей. Поскольку это один ресурс в котором просто выводится куча записей из БД создать пагинацию с помощью pdoPage ну никак не получается, нет нужных параметров для разбивки на страницы. Никто не подскажет, как организовать пагинацию по количеству выводимых строк из БД?
Дмитрий
Дмитрий
30 марта 2022, 15:51
modx.pro
902

Комментарии: 5

Роман
30 марта 2022, 16:05
Как вы выводите записи на страницу? Если все сложно, можно использовать js пагинацию
    Дмитрий
    30 марта 2022, 19:11
    код снипета.
    <?php
    /* Запрос к БД */
    $results = $modx->query("SELECT * FROM employee_info");
    $employeeList = $results->fetchAll(PDO::FETCH_ASSOC);
    $out=' ';
    foreach($employeeList as $data) {
        $depNum = $data['tirazhNum'];
        $startDate = $data['finishDate'];
        $jobTime = $data['finishTime'];
        $status = $data['status'];
        $salary = $data['salary'];
        $cardNum = $data['cardNum'];
        $varNum = $data['varNum'];
        $uniNum = $data['uniNum'];
        
        $out .= $modx->getChunk('employeeListOutput', array(
            'depNum'=>$tirazhNum,
            'startDate'=>$startDate,
            'jobTime'=>$jobTime,
            'status'=>$status,
            'salary'=>$salary,
            'cardNum'=>$cardNum,
            'varNum'=>$varNum,
            'uniNum'=>$uniNum
            ));
    }
    return $out;
    Соответственно шаблон вывода в чанке employeeListOutput, а на ресурсе вывод сниппетом.
    Получется сумашедшая портянка — более 400сот записей.
      Роман
      31 марта 2022, 08:55
      Не очень понимаю зачем вам переменные типа depNum, startDate и так далее. Когда весь код можно в 2 строчки передать.
      foreach($employeeList as $data) 
          $out .= $modx->getChunk('employeeListOutput', $data);
    Дмитрий
    30 марта 2022, 19:14
    СПС. js пагинация то, что надо.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    5