PHPackages                             pdima88/pdgrid - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. pdima88/pdgrid

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

pdima88/pdgrid
==============

PHP Data Grid widget using Zend Db v1

0411PHP

Since Feb 7Pushed 6y ago1 watchersCompare

[ Source](https://github.com/pdima88/pdgrid)[ Packagist](https://packagist.org/packages/pdima88/pdgrid)[ RSS](/packages/pdima88-pdgrid/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (1)Used By (1)

pdgrid
======

[](#pdgrid)

PHP Data Grid Widget using Bootstrap, Jquery and Zend\_Db

Компонент грид(таблица) предназначен для админки, для вывода списка элементов в табличном виде с функциями сортировки, фильтрации, постраничной навигации, ссылками для создания, редактирования и удаления элементов

Использование:
==============

[](#использование)

Создайте грид, передав в конструктор необходимые параметры (см. ниже **Список параметров**)

```
use pdgrid\Grid;
$grid = new Grid(  );

```

и выведите грид в нужном месте страницы:

```
echo $grid->render();

```

в случае ajax запроса вызовите метод ajax, который вернет все необходимые данные и завершит выполнение

```
$grid->ajax();

```

Список параметров:
==================

[](#список-параметров)

***Данные:***

- data - Массив данных (уже подготовленных) - в этом случае сортировка и фильтрация не будет выполняться гридом, вы должны передать отсортированный и отфильтрованный массив данных. Грид выполняет только постраничное разделение.

или:

- select - Zend\_Db\_Select запрос, из которого будет сформированы sql и sqlcount параметры

или:

- sql - Запрос для получения элементов
- sqlcount - Запрос для получения количества элементов, необязателен, если не указан - берется запрос sql

    ```
     **!! ВАЖНО** : В случае использование фильтров, укажите в запросах подстановочный параметр {where},
     вместо которого будут вставлено условие фильтрации
     Не используйте ORDER (сортировку) в запросах, т.к. грид сам подставляет
     в конец запроса предложение ORDER - это вызовет ошибку.

    ```

***URL для получения данных и кнопок действий:***

- url - Базовый url страницы, где выводится грид, он будет использоваться для ссылок постраничной навигации, сортировки и фильтрации, не должен содержать параметров page, sort и filter, т.к. они будут добавлены гридом.
- ajax - Базовый url для AJAX запросов
- add - Ссылка на создание элемента
- edit - Ссылка на редактирование элемента
- delete - Ссылка на удаление элемента
- ajax-delete - Ссылка на удаление (AJAX) В ссылках действий могут быть использованы подстановочные параметры:

    ```
     - {id} - ID элемента (при редактировании или удалении)
     - {returnUrl} - URL адрес текущей страницы с гридом для возврата

    ```

***Параметры отображения:***

- paging - Количество элементов на странице, по умолчанию 10. Если указано 0 или false, то выводятся все элементы на одной странице, пагинация отключена
- rownum - Нужно ли выводить номера строк слева от каждой строки, по умолчанию: да
- footer - Нужно ли выводить нижнюю строку с информацией
- columns - Описание колонок таблицы, ассоциативный массив, ключи - названия столбцов запроса, значения - ассоциативный массив с параметрами колонки (см. **Параметры столбца**)
- multisort - Возможна ли сортировка одновременно по нескольким столбцам
- sort - Сортировка по умолчанию, здесь также можно указать сортировку по несортируемым полям, которая будет действовать в любом случае. ```
     'sort' => [
          'name' => 'asc|desc'
       ]

    ```
- group - Группировка строк по значению в столбце, по умолчанию false (нет группировки) Если требуется группировка, следует указать массив ```
    [
       'column' => '',
       'format' =>  - это может быть строка с именем функции,
                      просто строка с подставляемыми значениями или массив
                       (см. описание format в параметрах столбца)
       'edit' => URL ссылки редактирования, необязательно
       'delete' => URL ссылки на удаление группы, необязательно
       'ajax-delete' => URL ссылки на удаление группы (AJAX), необязательно
    ]

    ```
- actions - дополнительные кнопки операций (отображается в последней колонке)

Параметры столбца:
==================

[](#параметры-столбца)

- title - Название колонки, отображается в заголовке таблицы
- width - Ширина, число в пикселях (для изображений - макс.ширина изображения), по умолчанию - автоматическая ширина по содержимому
- style - CSS стиль, применяемый к ячейкам столбца (кроме заголовка), может быть задан строкой или массивом
- nowrap - Вывод значения в одну строку (запретить перенос строки)
- align - Горизонтальное выравнивание: left, right или center (по умолчанию: left)
- format - Определяет то, как выводится значение в этой колонке, по умолчанию - обычный вывод (см. **Форматы вывода**)
- href - URL ссылки, можно использовать параметры {*имя столбца*} для подстановки значений из запроса
- hrefTarget - если используется href, указывает цель ссылки
- sort - Возможна ли сортировка по этому столбцу (true|false, по умолчанию false), если сортировка для данного столбца выполняется по другому полю базы данных, отличному от указанного в ключе, укажите здесь название столбца в SQL запросе. Также можно указать массив значений, если требуется сортировка по нескольким полям
- filter - Тип фильтра по данному столбцу (по умолчанию - нет фильтра), см. **Типы фильтров**

Форматы вывода:
===============

[](#форматы-вывода)

- img - выводит изображение, из указанной ссылки
- checkbox - выводит Флажок вкл./выкл.
- datetime - выводит отформатированную Дату/время
- *массив* - будет выведено значение по ключу массива
- *функция* - если указано имя функции или метода, будет выведен результат ее вызова Функция принимает первым параметром значение столбца

В остальных случаях значение будет интерпретироваться как строка формата для функции sprintf. В строке формата вы также можете использовать параметры {*имя столбца*} для подстановки значений из запроса

\_\_\_Пока не реализовано:\_\_\_ - date (Дата) - time (Время ЧЧ:ММ:СС) - shorttime (Время ЧЧ:ММ) - dateperiod (Диапазон дат) - period (Диапазон даты/времени) - timeperiod (Диапазон времени) Типы фильтров:
==============

[](#типы-фильтров)

- text - Поиск по подстроке
- select - Выбор одного из нескольких значений, список берется из свойства format, которое должно быть массивом
- dateRange - Фильтр по диапазону дат

Все фильтры представлены отдельными классами, наследованными от базового Filter

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/6456e1bfa16fdb098648efb97a4fef5e855c1d3b8384dacb792841440cab3917?d=identicon)[pdima88](/maintainers/pdima88)

---

Top Contributors

[![pdima88](https://avatars.githubusercontent.com/u/2329196?v=4)](https://github.com/pdima88 "pdima88 (12 commits)")

### Embed Badge

![Health badge](/badges/pdima88-pdgrid/health.svg)

```
[![Health](https://phpackages.com/badges/pdima88-pdgrid/health.svg)](https://phpackages.com/packages/pdima88-pdgrid)
```

###  Alternatives

[pyyoshi/shortuuid-php

2226.1k](/packages/pyyoshi-shortuuid-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
