The Community forums are being phased out in favor of a new Slack group.
Add your email address below to get an invitation to join the community slack group

Slack Signup
Newsletter Optin
Help Desk

denormalized database

Labels

This Discussion is public

Notifications

The normal forms you make all submit as normalised forms, is there a way to put all the date into a single table? I have a form plugin that can query, then edit the data, however in a normalised form it cannot update the data as the form is querying against dual tables and it cannot deal with this.

The alternative is a way to inline edit in a view. I have created a table that has an edit button however I want to add a checkbox as part of the table if possible to edit the data inline rather than via clicking edit. The data that needs to be manipulated needs to be done quickly rather than click and edit again and again.

Formidable uses a standard WordPress database structure of form and form_meta. You can't change that structure. You can however, create your own custom table and write to it when the form is saved. You can hook into the frm_after_create_entry action and use the WordPress global $wpdb to write to the table. The PHP $_POST array has your form data stored at this point in the process. You retrieve your values from $_POST and write them to the table.

Doing it this way, you've got to write all of your own code for adding, updating, and deleting the records from your custom table. If you add or change fields on the form, you have to make sure you modify the table structure of your custom table. If you migrate the form to a new WordPress instance, your custom code will break because the $_POST array uses the field ID as the array key. Field IDs change when you move forms to other instances of WordPress. There are ways to work around this, but it is very complex to code.

This is truly advanced PHP programming. If you are not a developer and have the budget to pay for a day to two's time, I suggest to hire one to do this for you. You need to be prepared to spend around $2,000 USD.

Discussion closed.