MADAL allows one to quickly generate ajax enabled web-pages.
MADAL is an Ajax based database access layer for MySQL written in PHP and Javascript. It generates PHP and Javascript/jQuery source code that is well documented, so you can use your IDE's auto-completion against database tables and fields. The documentation was designed with PHP Eclipse in mind, but should work for any IDE that recognizes PHP doc.
Downloading: PHP Classes has only example and main classes, for the full working code, please download from the Google code project link: http://madal.googlecode.com/files/madal.zip
Here's how simple using MADAL is:
$table_name->print_FieldName_input_setter();
This will give you an input field (text, checkbox, textarea, or datepicker) that updates the database FieldName of the row represented by $table_name onblur (see attached images). Pretty simple, right?
MADAL also generates Javascript objects that allow you to update the database based on your own custom fields.
For example:
Classroom2.set_capacity(33);
This will make an ajax call to the MADAL web service. Much simpler than writing a custom update page for every field of the database, and custom classes for every table.
Core components:
* PHP
* MySQL
* Javascript (with jQuery)
Features:
* PHP Model - generates a set of PHP classes that mirror your database format
* Javascript Model - generates a set of javascript/jQuery classes that mirror your database and allows for easy client side display and modification
* MADAL Web Service - generates an easy to use web-service for accessing your database (includes instructions for implementing security)
* Easy ajax - simply print the input field and you've got an ajax enabled field
* Field validation - input fields are validated for their type
* jQuery ui themes - MADAL includes the whole set of default jQuery ui themes for easy styling of your pages. You can also add more using the jQuery ui theme roller.
* Optimistic concurrency - if more than one user is accessing a piece of data, and one of the users updates a field, then the other user updates the same field (but has out of date information), the second user will receive a notification that the field is in use, and the page will auto-refresh thus retrieving the most up-to-date data.