Choose your database:
MS SQL Server
SQL Anywhere

Subscribe to our news:
Brian Vivian: "Thank you very much for making such a great product. It makes my job a LOT easier".
Neil McPherson: "Thanks very much for your advice. I would just like to add that SQL Maestro makes life so much easier to work with Firebird, I have tried some of the other management tools but Maestro is such a nicely organized product and it has never let me down".


Add your opinion

SQL Maestro Group / Products / Firebird / News / PHP Generator released

PHP Generator released

Dec 11, 2014

Prev Next
PHP Generator

SQL Maestro Group is happy to announce the next minor update of PHP Generator, 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.

  • The External audio file option becomes available in the View properties. This allows you to use the standard HTML5 audio player for your application.
    External Audio FilePicture 1. External Audio File
    To utilize another audio player (there are lots of free and commercial ones in the Internet), use the OnCustomRenderColumn event.
  • The OnPreparePage page-level event has been added. This piece of code is a method of the Page class that is called at the end of the constructor. It allows you to customize all members of the class, for example, add an additional filter to the dataset.

    The following event handler is used in our new demo application:

    Listing 1. OnBeforeInsertRecord event example
    Function applyDatasetFilter is defined in the schema_browser_utils.php file as follows:
    Listing 2. The applyDatasetFilter function
    function applyDatasetFilter(Dataset $dataset) {
      if (GetApplication()->IsGETValueSet('database'))
        $value = GetApplication()->GetGETValue('database');
        $value = ArrayUtils::GetArrayValueDef($_COOKIE, 'database');
      if (StringUtils::IsNullOrEmpty($value)) {
        $globalConnectionOptions = GetGlobalConnectionOptions();
        $value = $globalConnectionOptions['database'];
      if (!StringUtils::IsNullOrEmpty($value)) {
        $dataset->AddFieldFilter('Database_name', new FieldFilter($value, '='));
        setcookie('database', $value);
  • The OnBeforePageExecute event becomes available at the application level. This helps you to define a snapshot of PHP code that will be included into all the pages.
  • The SpinEdit control was replaced to one from HTML5.
    The SpinEdit controlPicture 2. The SpinEdit control
  • The Step property has been added to the Range control.
    Additional properties of Range controlPicture 3. Additional properties of Range control
  • Lookup filter condition is now applied to Filter Row and Filter Builder tools.
  • Date and datetime controls in Filter Row and Filter Builder now display values in the same format which is used in the corresponding Data Grid columns.
  • Values of date and datetime fields used in the data manipulation events (which are instances of the SMDateTime class) now can be converted to strings automatically.
    Listing 3. OnBeforeInsertRecord event example
    $str = $rowData['date_field'];
    // $str now contains the string representation of the date in Y-m-d format (e.g. 2014-12-15).
  • JavaScript API: the getCaption() function added to Combobox and RadioGroup editors.

    Assume that we have a RadioGroup editor with the following properties:

    RadioGroup PropertiesPicture 4. RadioGroup Properties
    ... and the second item is selected:
    RadioGroup ControlPicture 5. RadioGroup Control
    The code below shows the difference between getValue() and getCaption() functions:
    Listing 4. getValue() and getCaption() example
    var value = editors['color'].getValue(); // value == 2
    var caption =  editors['color'].getCaption(); // caption == 'yellow'

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