Choose your database:
AnySQL
MySQL
MS SQL Server
PostgreSQL
SQLite
Firebird
Oracle
SQL Anywhere
DB2
MaxDB

Subscribe to our news:
Partners
Testimonials
Piter Jason: "I wanted to take this opportunity to thank SQL Maestro Group for providing me the tools to succeed. I have no doubt that without them I would have failed to do my job. I am proud that I have suceeded. Thank you".
Peter Robinson: "As a tech savvy company director, I wanted an inexpensive web based database application to manage all aspects of my business. As with most humans I find developing purely by CLI very hard and do not have the will or time to invest in improving my skills. I was looking to find a nice human friendly GUI to design and build my application, which is when I came across PHP Generator for MySQL.

Whilst you still need a great understanding of logic and a small amount of programming ability to get the specific results you require, I am very happy with the speed of progress I have been making with this invaluable tool.

With all the standard libraries included, this product makes normal requirements such as JavaScript form validation, lookup selectors, on click events, auto complete, detailed searches, multiformat exports, rss feeds and username security straight forward and quick.

Having any changes made via the GUI written to the web server at the click of a button makes testing out ideas quick and easy without fear of breaking your application.

To conclude, I couldn't find any other product on the market that came close to offering the amount of options this does, and I do hope that more products like this come out in the future, with the hope of eventually eradicating the need to program all together".

More

Add your opinion

SQL Maestro Group / Products / MySQL / News / PHP Generator 12.8.0.15 released

PHP Generator 12.8.0.15 released

Feb 21, 2014

Prev Next
PHP Generator

SQL Maestro Group is happy to announce the next minor update of PHP Generator 12.8.0.15, a GUI frontend that allows you to generate high-quality PHP scripts for the selected tables, views and queries for the further working with these objects through the web. There are versions for MySQL, MS SQL Server, PostgreSQL, Oracle, SQLite, Firebird, DB2, SQL Anywhere and MaxDB.

Please find below a detailed description of the most interesting features added in this version. Other new features, corrections, and fixes can be found in the Changelog.

  • A new implementation of HTTP tunneling based on MySQLi PHP extension has been added. The installation folder now contains two connection scripts: mysqli_tunnel.php and mysql_tunnel.php. We would recommend you to use the mysqli_tunnel.php script always if possible as it operates through the modern MySQLi PHP extension (available since PHP 5) while mysql_tunnel.php uses the original MySQL PHP API that is deprecated as of PHP 5.5.

    Connecting via MySQLi based HTTP tunnelPicture 1. Connecting via MySQLi based HTTP tunnel

  • The algorithm of initialization of View and Edit properties for pages based on queries has been significantly improved to reduce the amount of hand-work required to set up full-featured pages.
    • If a query contains a column defined as NOT NULL in the corresponding base table, the Required option is turned ON automatically.
    • If a query contains a column of the ENUM data type, PHP Generator automatically sets up its editor type to ComboBox and fills in that control with the values of the enumeration. The same is applied to the SET data type (for such columns PHP Generator sets up a Group Box editor).

      Edit properties of a ENUM column.Picture 2. Edit properties of a ENUM column.

    • If a query contains a column that has a foreign key constraint in the corresponding base table, the lookup options are set automatically if the Setup lookups by foreign keys option is turned ON in the program settings.
  • Starting from this version PHP Generator tries to detect key columns for queries by itself by the following rule: all the columns included into primary key constraints in their base tables are marked as keys. Of course the list of key columns can be later arranged manually.
  • The visible ([true|false]) method has been added to the editor's API.

    Example

    Consider we are going to organize a party. To get the right amount of beverages to buy for the party, we have to register all members on the Party webpage, and select the beverage they want to drink and specify the necessary amount of beverage for members who will participate in the party. The user interface might look as follows:

    The dinamic hiding of the 'Beverage Id' and the 'Amount' controls depending on the 'Will participate' value.Picture 3. The dinamic hiding of the 'Beverage Id' and the 'Amount' controls depending on the 'Will participate' value.

    So we need to show or hide the list of beverages and their amount depending on the checkbox state. To accomplish this, you can write the following code:

    Listing 1. OnInsertFormLoaded event handler
    // will not participate by default
    editors['beverage_id'].visible(false);
    editors['amount'].visible(false);
    Listing 2. OnEditFormLoaded event handler
    editors['beverage_id'].visible(editors['will_participate'].getValue());
    editors['amount'].visible(editors['will_participate'].getValue());
    Listing 3. OnInsertFormEditorValueChanged and OnEditFormEditorValueChanged event handler
    if (sender.getFieldName() == 'will_participate') {
        editors['beverage_id'].visible(sender.getValue());
        editors['amount'].visible(sender.getValue());
    }

    Please be aware that values of hidden controls are sent to the web server on form submission (while values of disabled controls are not). So if you want to hide a control and prevent its value from sending to the web server, you should change the code above as follows:

    Listing 4. OnInsertFormLoaded event handler
    editors['beverage_id'].enabled(false);
    editors['amount'].enabled(false);
    editors['beverage_id'].visible(false);
    editors['amount'].visible(false);

    Other handlers should be changed in the same manner. To retrieve current state of the control, call the method without parameters.

  • Less compiler errors (if any) are now dispalyed in the Preview window after theme customization. On the screenshot below we missed a semicolon after #000 and got the corresponding compiler error.

    Theme preview window: Less compiler errors.Picture 4. Theme preview window: Less compiler errors.

  • The documentation related to events has been significantly updated. Each event is now described in a separate topic and equipped with illustrative examples.

For more information about a specific tool see the appropriate page:

PHP Generator for MySQL PHP Generator for MySQL PostgreSQL PHP Generator PostgreSQL PHP Generator
MS SQL PHP Generator MS SQL PHP Generator Oracle PHP Generator Oracle PHP Generator
Firebird PHP Generator Firebird PHP Generator SQLite PHP Generator SQLite PHP Generator
DB2 PHP Generator DB2 PHP Generator MaxDB PHP Generator MaxDB PHP Generator
ASA PHP Generator ASA PHP Generator    
Prev Next