pdoPage и вывод результата прямого запроса
Добрый день.
Есть БД, вертится на Оракле.
В MODX сниппете получаю результат прямого запроса к Ораклу в виде массива. К примеру, так:
Как вывести этот массив через pdoPage?
Или — есть ли какие-либо идеи (лучше этой) по выводу постранично больших табличных данных, хранящихся не в БД MODX?
Спасибо.
Есть БД, вертится на Оракле.
В MODX сниппете получаю результат прямого запроса к Ораклу в виде массива. К примеру, так:
<?php
$conn = oci_connect($baselogin, $basepass, $oraconnect);
$stid = oci_parse($conn, 'SELECT rownum as IDX, s.* FROM V_WEBCLIENTS s where ID_FIRM='.$occlient);
$nrows = oci_fetch_all($stid, $res, null, null, OCI_FETCHSTATEMENT_BY_ROW);
return $res;Массив ассоциативный, по именам полей запроса.Как вывести этот массив через pdoPage?
Или — есть ли какие-либо идеи (лучше этой) по выводу постранично больших табличных данных, хранящихся не в БД MODX?
Спасибо.
Техническая поддержка MODX
Сайт лежит, тормозит или остался без разработчика?
Переезд с MODX 2 на 3, PHP 7 на 8, скорость и безопасность. Поддержка со сроками и ответственностью, а не совет в чате.
Подробнее
Реклама
Комментарии: 5
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Принцип работы таких сниппетов вот здесь.
Код страницы:
Код сниппета testPdoPage:
Вроде совсем простой код. Из документации: «Данный сниппет должен понимать параметры &page и &limit.» Мой — принимает, и даже отрабатывает, простейшим образом.
Результат — на рис.
Где же ошибка (кроме той, что в генах :) )? Навигация работает исправно. Отображения не происходит. Может быть, надо массив составить определенного формата? Но какого?
Я вижу только print_r($data); — что и приводит к распечатыванию данных на экране. Читай дальше, что ли.
И кстати, работать с @INLINE чанками MODX по умолчанию не умеет. Если хочешь их использовать, то нужно подключать pdoTools.
Когда по кодам pdo* полазил, только тогда понял очевидную же вещь, которая есть и в мануалах — то, что pdoPage обёртка и сама выходные данные вызываемого сниппета не форматирует. А форматировать выходной массив нужно в самом сниппете. А для полноты ощущений надо в том же сниппете подключить pdoTools, и настанет счастье.
Спасибо за подсказки и терпение! )
А вот задача сниппета — всё выбрать и оформить.