How to Let Users Edit Database Rows from a WordPress Page (No Coding)
You have a MySQL table — inventory, a client list, employee records — and you want staff to update it from a WordPress page. Not from the WordPress admin. Not from phpMyAdmin. From a clean, simple interface on your site, accessible to anyone with the right role or page password.
This is a surprisingly common need, and a surprisingly annoying thing to find a plugin for. Most table plugins are read-only. The ones that support editing either require expensive subscriptions or complex configuration. This post shows how to do it with NMR jsGrid in about 10 minutes.
What You’ll Build
A WordPress page containing an interactive grid. Rows show data from your MySQL table. Users can:
- Click a row to edit field values inline
- Add new rows via an insert form at the top of the grid
- Delete rows with a confirm action
- Filter and sort without page reload
All changes go directly to your database via AJAX. No PHP custom development required.
Step 1: Install NMR jsGrid
Go to WordPress Admin → Plugins → Add New. Search for “NMR jsGrid”. Install and activate.
Step 2: Create a New Grid
In the WordPress sidebar, click NMR jsGrid → Add New Grid.
Give it a short ID — this becomes the shortcode parameter. Example: inventory.
Step 3: Configure the Data Source
Set Data Source to SQL. In the query field, enter a SELECT statement that reads from your table. Example for an inventory table:
SELECT id, product_name, sku, quantity, location, last_updated
FROM my_inventory
In the Write Table field, enter the table name that INSERT, UPDATE, and DELETE operations will target. In most cases, this is the same table: my_inventory.
Step 4: Add Columns
Add a column entry for each field in your SELECT. For each column, set:
- Name — must match the field name in your query exactly
- Title — label shown in the column header
- Type — text, number, date, checkbox, textarea
- Editable — whether this field can be changed in the edit form
For the primary key field (e.g. id): set Type to “number”, leave Editable off. This field identifies which row to update/delete.
Add a Control column at the end — this renders the Edit and Delete buttons on each row.
Step 5: Enable Editing, Inserting, Deleting
In the Grid Options section, toggle on:
- Editing — lets users click Edit on a row and save changes
- Inserting — shows an insert row at the top for adding new records
- Deleting — shows a Delete button on each row
Step 6: Embed on a Page
Create or edit a WordPress page. Add the shortcode block and enter:
Publish the page. The grid is live.
Access Control
To restrict who can edit, use WordPress’s built-in page access tools:
- Set the page to “Password protected” for simple team access
- Use a membership plugin to restrict by user role
- Use a plugin like Members or User Role Editor to control who sees the page
The grid itself doesn’t manage access — WordPress page/post visibility handles that.
Result
Your team gets a clean, spreadsheet-style interface on a WordPress page. No admin credentials needed. No custom PHP. Data lives in your database and updates immediately on save.