Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Sunday, October 13, 2024
About Us
Magazine
Open Source
CVS
Services
Index  »  Projects  »  phpMyEdit  »  Documentation  »  HTML  »  Data removal protection

6.3. Data removal protection

One very old database maintenance rule basically says:

 

No entry should by removed from a database, but just marked as deleted.

 
--unknown author 

According to this rule, we may want to implement similar functionality also in phpMyEdit and it is possible, of course.

First of all we need to set-up phpMyEdit to list only valid non-deleted records. This can be accomplished using $opts['filters'] configuration option. We suppose that we have table where a column named deleted indicates if record is deleted or not.

Example 6-3. Non-deleted records listing

$opts['filters'] = 'deleted IS NULL OR deleted = 0';

Than we have to create a "delete before" trigger and we are done. Trigger PHP code should look similar to this example:

Example 6-4. Trigger for marking records as deleted

$query2 = sprintf('UPDATE %s SET deleted = 1 WHERE id = %d',
                  $this->tb, $newvals['id']);
$this->MyQuery($query2);
return false;

To recover a particular record just change the value in the deleted column from 1 to 0 using your SQL client or interface (for example using phpMyAdmin).


Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top · Feedback form · Application form
Report bug on PLATON.SK website · Terms of use · Privacy policy