PHPackages                             kevinpirnie/kpt-datatables - 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. [Database &amp; ORM](/categories/database)
4. /
5. kevinpirnie/kpt-datatables

ActiveLibrary[Database &amp; ORM](/categories/database)

kevinpirnie/kpt-datatables
==========================

Advanced PHP DataTables library with CRUD operations, search, sorting, pagination, bulk actions, and multi-framework theme support (UIKit3, Bootstrap 5, Tailwind, Plain)

v2.3.22(2mo ago)064MITPHPPHP &gt;=8.2CI passing

Since Apr 2Pushed 2mo agoCompare

[ Source](https://github.com/kpirnie/kp-datatables)[ Packagist](https://packagist.org/packages/kevinpirnie/kpt-datatables)[ Docs](https://github.com/kpirnie/kp-datatables)[ Fund](https://ko-fi.com/kevinpirnie)[ Fund](https://www.paypal.biz/kevinpirnie)[ RSS](/packages/kevinpirnie-kpt-datatables/feed)WikiDiscussions main Synced today

READMEChangelog (3)Dependencies (15)Versions (10)Used By (0)

KPT DataTables
==============

[](#kpt-datatables)

[![GitHub Issues](https://camo.githubusercontent.com/dfc8702a683662bb78ca0256fc377c1f6ce6c047e5b8b4804a2cecbf1c5d6497/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6b7069726e69652f6b702d646174617461626c65733f7374796c653d666f722d7468652d6261646765266c6f676f3d67697468756226636f6c6f723d303036343030266c6f676f436f6c6f723d7768697465266c6162656c436f6c6f723d303030)](https://github.com/kpirnie/kp-datatables/issues)[![Last Commit](https://camo.githubusercontent.com/13e11e2877ea7299472969ef34624df0e93f761d326c5a74ac669f840ae431d0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6b7069726e69652f6b7074762d66696c7465722d6170703f7374796c653d666f722d7468652d6261646765266c6162656c436f6c6f723d303030)](https://github.com/kpirnie/kptv-filter-app/commits/main)[![License: MIT](https://camo.githubusercontent.com/3feae9184bed07192fb29d135d8d9cab0ce91071c99d564030b2e5a487dcfd16/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d6f72616e67652e7376673f7374796c653d666f722d7468652d6261646765266c6f676f3d6f70656e736f75726365696e6974696174697665266c6f676f436f6c6f723d7768697465266c6162656c436f6c6f723d303030)](LICENSE)

[![PHP](https://camo.githubusercontent.com/ca13188d15d4343366b4d26655bdde416da638be7f232445ee05cb28ea9b043f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5570253230546f2d706870382e342d3737374242343f6c6f676f3d706870266c6f676f436f6c6f723d7768697465267374796c653d666f722d7468652d6261646765266c6162656c436f6c6f723d303030)](https://php.net)[![Discord](https://camo.githubusercontent.com/e07817854a02c89227b9ac4bd6318ce89769ddfe6c9d30b620a6d300cb6c543a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446973636f72642d4a6f696e2d626c75653f6c6f676f3d646973636f7264266c6f676f436f6c6f723d7768697465267374796c653d666f722d7468652d6261646765266c6162656c436f6c6f723d303030)](https://discord.gg/bd4Qan3PaN)[![Kevin Pirnie](https://camo.githubusercontent.com/968625e35b4234df439b19dcb00f96708e5e8f7cf05a0062e81024a0a639e561/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2d4b6576696e5069726e69652e636f6d2d3030306432643f7374796c653d666f722d7468652d6261646765266c6162656c436f6c6f723d303030266c6f676f436f6c6f723d7768697465266c6f676f3d646174613a696d6167652f737667253242786d6c3b6261736536342c50484e325a79423462577875637a30696148523063446f764c336433647935334d793576636d63764d6a41774d43397a646d636949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a534967633352796232746c50534a3361476c305a534967633352796232746c4c5864705a48526f505349784c6a676949484e30636d39725a5331736157356c5932467750534a79623356755a434967633352796232746c4c577870626d567162326c7550534a79623356755a43492b4369416750474e70636d4e735a53426a654430694d54496949474e35505349784d694967636a30694d5441694c7a344b494341385a5778736158427a5a53426a654430694d54496949474e35505349784d694967636e6739496a51754e534967636e6b39496a45774969382b4369416750477870626d556765444539496a496949486b78505349784d69496765444939496a4979496942354d6a30694d5449694c7a344b4943413862476c755a5342344d5430694e433431496942354d5430694e693431496942344d6a30694d546b754e53496765544939496a59754e53497650676f67494478736157356c49486778505349304c6a556949486b78505349784e793431496942344d6a30694d546b754e53496765544939496a45334c6a55694c7a344b5043397a646d632b43673d3d)](https://kevinpirnie.com/)

Advanced PHP DataTables library with full CRUD operations, multi-table JOIN support, per-column filter accordion, calculated columns, footer aggregations, inline editing, Select2 AJAX dropdowns, file uploads, bulk actions, tabbed modal forms, and a theme system covering UIKit3, Bootstrap 5, Tailwind CSS, and a framework-agnostic Plain theme. All rendering is server-side PHP with client-side interactivity handled by a zero-dependency vanilla JS class.

---

Table of Contents
-----------------

[](#table-of-contents)

- [Requirements](#requirements)
- [Installation](#installation)
- [Dependencies](#dependencies)
- [Quick Start](#quick-start)
- [Asset Inclusion](#asset-inclusion)
- [AJAX Handling](#ajax-handling)
- [Themes](#themes)
- [Core Configuration Methods](#core-configuration-methods)
    - [table()](#table)
    - [primaryKey()](#primarykey)
    - [database()](#database)
    - [columns()](#columns)
    - [join()](#join)
    - [where()](#where)
    - [filter()](#filter)
    - [sortable()](#sortable)
    - [inlineEditable()](#inlineeditable)
    - [perPage()](#perpage)
    - [pageSizeOptions()](#pagesizeoptions)
    - [search()](#search)
    - [defaultSort()](#defaultsort)
    - [groupBy()](#groupby)
- [Action Configuration](#action-configuration)
    - [actions()](#actions)
    - [actionGroups()](#actiongroups)
- [Bulk Actions](#bulk-actions)
- [Modal Forms](#modal-forms)
    - [addForm()](#addform)
    - [editForm()](#editform)
    - [Field Types](#field-types)
    - [Tabbed Forms](#tabbed-forms)
    - [allow\_on Field Overrides](#allow_on-field-overrides)
- [Calculated Columns](#calculated-columns)
- [Footer Aggregations](#footer-aggregations)
- [Styling](#styling)
    - [tableClass()](#tableclass)
    - [rowClass()](#rowclass)
    - [columnClasses()](#columnclasses)
- [File Uploads](#file-uploads)
- [Rendering](#rendering)
- [Static Methods](#static-methods)
- [Standalone Component Renderers](#standalone-component-renderers)
- [Filter Accordion Reference](#filter-accordion-reference)
- [WHERE Conditions Reference](#where-conditions-reference)
- [Column Definition Reference](#column-definition-reference)
- [JavaScript API](#javascript-api)
- [Building Assets](#building-assets)
- [Testing](#testing)
- [Security](#security)
- [Contributing](#contributing)
- [License](#license)

---

Requirements
------------

[](#requirements)

- PHP 8.2 or higher
- PDO extension
- JSON extension
- MySQL / MariaDB database

---

Installation
------------

[](#installation)

```
composer require kevinpirnie/kpt-datatables
```

---

Dependencies
------------

[](#dependencies)

PackagePurpose[`kevinpirnie/kpt-database`](https://packagist.org/packages/kevinpirnie/kpt-database)PDO database wrapper with fluent query builder[`kevinpirnie/kpt-logger`](https://packagist.org/packages/kevinpirnie/kpt-logger)Internal debug/error logging---

Quick Start
-----------

[](#quick-start)

```
