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

Subscribe to our news:
Partners
Testimonials
Dave Lantz: "I have to say that I simple love this product and its ease of use. I know that I have only tapped into about 20% of what it can do. In my business I come into a lot of contact with developers and I tell them all, that if they need an easy way to connect, report or work their databases they MUST check out your products".
Steven Langfield: "I wanted to drop you a mail to say how freaking AMAZING your software is. It will be the best £100 I have ever spent. I have still to read all your documentation to take full advantage but what you have created is truly amazing".

More

Add your opinion

PHP Generator for MySQL online Help

Prev Return to chapter overview Next

OnAfterUpdateRecord

This event occurs when the Update command is executed, and after the actual update.

 

Signature:

function OnAfterUpdateRecord ($page, $oldRowData, $rowData, $tableName, 

       &$success, &$message, &$messageDisplayTime)

 

Parameters:

$page

An instance of the Page class.

$oldRowData

The associative array of old (previous) values of the currently processed row.

$rowData

The associative array of values that corresponds to the currently processed row.

$tableName

The name of processed table.

$success

Indicates whether the last data manipulation statement was successful or not.

$message

A message to be displayed to a user. If the statement completed successfully, the value of this parameter is equal to empty string. If the statement failed, the value of this parameter contains the error message that came from the database server.

$messageDisplayTime

A time interval (in seconds) after which the message will disappear automatically. Default value is 0 (the message will not disappear).

 

Success messages are displayed in green while error messages are displayed in red.

 

Example 1:

if ($success) {

    $message = 'Record processed successfully.';

}

else {

    $message = '<p>Something wrong happened. ' .

        '<a class="alert-link" href="mailto:admin@example.com">' .

        'Contact developers</a> for more info.</p>';

}

 

Example 2:

The following code logs information about modified records into a separate table:

 

if ($success) {

  // Check if record data was modified

  $dataMofified  = 

    $oldRowData['first_name'] !== $rowData['first_name'] ||

    $oldRowData['last_name'] !== $rowData['last_name'] ||

    $oldRowData['email'] !== $rowData['email'];

 

  if ($dataMofified) {

    $userId = $page->GetCurrentUserId();    

    $currentDateTime = SMDateTime::Now();

    $sql = 

      "INSERT INTO activity_log (table_name, action, user_id, log_time) " .

      "VALUES ('$tableName', 'UPDATE', $userId, '$currentDateTime');";

    $page->GetConnection()->ExecSQL($sql);  

  }                                    

}

 

Example 3:

The following code is used in our Feature Demo to modifty genres of the updated movie to a separate table:

 

if ($success && GetApplication()->IsPOSTValueSet('genres')) {

  $sql = sprintf('DELETE FROM movie_genres WHERE movie_id = %d;', $rowData['id']);

  $page->GetConnection()->ExecSQL($sql);

  $genres = GetApplication()->GetPOSTValue('genres');

  foreach ($genres as $genre) {

    $sql = sprintf('INSERT INTO movie_genres VALUES(%d, %d);', $rowData['id'], $genre);

    $page->GetConnection()->ExecSQL($sql);

  }

}

 

See also: OnAfterDeleteRecord, OnAfterInsertRecord, OnBeforeUpdateRecord.



Prev Return to chapter overview Next