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.
The problem every WordPress developer hits
Your data is in MySQL. Your site is WordPress.
Getting them to talk is harder than it should be.
😤
TablePress says “not possible”
Ask the TablePress author about frontend editing. The answer hasn’t changed in years: “Only possible from the WordPress admin dashboard.” Users who need staff to edit records from a page are stuck.
💸
wpDataTables is $69–$239/year
For a simple “display this SQL table with edit capability” use case, that’s a heavy subscription. And it’s complex — built for enterprise scenarios with charts, Excel imports, and nested tables you’ll 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 to load, your full dataset is visible in the page source, and filtering often breaks pagination entirely.
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 (optionally) fully editable by users.
⚡ Server-Side AJAX
Only the current page of data loads. Filtering and pagination run as SQL queries. Works identically on 100 rows or 100,000 rows. Full dataset never touches the browser.
✏️ Frontend CRUD
Enable editing, inserting, and deleting per grid. Users edit rows inline, add records via 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 + Sorting
Filter inputs above each column. Sort by clicking headers. Results update via AJAX. Pagination always reflects the filtered count — not the total table size.
📎 Shortcode Embed
One shortcode per grid: . Works in pages, posts, widgets, and 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 custom 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 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
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? Surface that data on a WordPress page — with filtering, pagination, and optional editing — without migrating the data.
📊 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 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’s built for. Start here if you’re not sure this is the right tool.
Display SQL query results on a WordPress page
Step-by-step: connect a SELECT query to a WordPress page shortcode. Covers pagination, filtering, and why most table plugins can’t 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 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.
Sample grid