Put your database on any WordPress page.
Filterable. Editable. No coding.
NMR jsGrid connects your MySQL tables to WordPress pages via shortcode, with AJAX pagination, column filtering, sorting and full frontend CRUD out of the box.
Your data is in MySQL. Your site is WordPress.
Getting them to talk is harder than it should be.
The problem every WordPress developer hits.
TablePress says “not possible”
Ask the TablePress author about frontend editing. The answer has not changed in years: “Only possible from the WordPress admin dashboard.” If staff must edit records from a page, you are stuck.
wpDataTables is $69–$239/year
For a simple “display this SQL table with edit capability” use case, that is a heavy subscription. And it is complex: built for enterprise scenarios with charts, Excel imports and nested tables you will never need.
Client-side plugins break on large data
Plugins that load all rows into HTML work fine at 50 rows. At 5,000 rows the page is slow, your full dataset is visible in the page source, and filtering often breaks pagination.
NMR jsGrid does one thing, and does it well
Paste a SQL SELECT query. Configure columns. Drop a shortcode. Your data is live on the page: filterable, sortable, paginated and, if you want, editable by users.
Server-side AJAX
Only the current page of data loads. Filtering and pagination run as SQL queries. It works the same on 100 rows or 100,000 rows, and the full dataset never reaches the browser.
Frontend CRUD
Enable editing, inserting and deleting per grid. Users edit rows inline, add records with a built-in insert form and delete with a confirm action, all without WordPress admin access.
Any MySQL table
WordPress core tables, WooCommerce tables, custom plugin tables, legacy application tables: if your WordPress DB user can SELECT from it, you can display and edit it.
Column filtering and sorting
Filter inputs above each column. Sort by clicking headers. Results update via AJAX, and pagination always reflects the filtered count, not the total table size.
Shortcode embed
One shortcode per grid: . It works in pages, posts and widgets, in any theme that supports shortcodes. No page builder required.
Three data sources
SQL query, static JSON array, or custom AJAX endpoint. SQL handles most cases. Remote lets you add PHP logic (validation, permissions, computed fields) while the grid handles the UI.
From SQL query to live table in under 5 minutes
- Install the plugin from WordPress.org
- Create a new grid, give it an ID
- Set data source to SQL, enter your SELECT query
- Configure columns: name, type, filterable/sortable
- Enable editing, inserting, deleting if needed
- Add the shortcode to any page:
Example: Inventory grid
-- Data Source: SQL
SELECT id, product_name, sku,
quantity, location
FROM wp_inventory
-- Write Table: wp_inventory
-- Enable: Editing, Inserting, Deleting
-- On any page:
Result: a filterable, sortable, paginated table where your team can edit stock quantities, add products and delete records, from a password-protected WordPress page, no admin access required.
Built for these use cases
Inventory management
Staff update stock quantities, locations and SKUs from a protected WordPress page. No WooCommerce admin needed. Works with any custom inventory table.
Member & employee directories
A filterable directory that HR can update from the frontend. Search by department, name or location. Members see their own data; HR edits it.
Order & ticket tracking
Display custom order data, support tickets or project records. Filter by status, date range or customer. Staff update status fields inline.
Agency & freelance projects
Build client-facing data management interfaces without custom development time. Hand clients a working admin panel on their own WordPress site.
Legacy data display
Have a legacy application with data in MySQL? Show that data on a WordPress page, with filtering, pagination and optional editing, without migrating it.
Form submission dashboards
Display data collected by Contact Form 7, Gravity Forms or any plugin that writes to a custom table. Filter and review submissions from a clean frontend interface.
Free vs Pro
Free
$0
- Up to 10 grids
- SQL, Static, Remote data sources
- AJAX pagination, filtering, sorting
- Frontend editing, inserting, deleting
- All column types (text, number, date, checkbox, textarea)
- Select field type: Pro only
- Build columns from data source: Pro only
- Priority support: Pro only
Pro
One-time payment, no subscription
- Unlimited grids
- SQL, Static, Remote data sources
- AJAX pagination, filtering, sorting
- Frontend editing, inserting, deleting
- All column types including Select field
- Build columns from data source: auto-detect columns from the SQL query
- Priority support
Learn more
Detailed guides for the most common use cases.
When does NMR jsGrid help?
A plain-language overview of the problems it solves, and the exact users it is built for. Start here if you are not sure this is the right tool.
Display SQL query results on a WordPress page
Step by step: connect a SELECT query to a page shortcode. Covers pagination, filtering, and why most table plugins cannot do this natively.
NMR jsGrid vs wpDataTables
Feature and price comparison. When wpDataTables is the right choice, and when NMR jsGrid is all you need for a fraction of the cost.
WordPress table with AJAX filtering and pagination
Why client-side filtering breaks on large tables, and how server-side AJAX solves it. Includes a setup guide and a comparison of both approaches.
Ready to put your data on the page?
Start free. Upgrade when you need more than 10 grids.
