![]() |
[MySQL / PHP] Freeze a value?
Is there any way to freeze a value in a database without doing a 'hack' in the PHP code. To be specific, I want to lock someone's post count on a certain number on pbpBB forums without messing with the original phpBB code so updates wont erase my code, etc.
|
Depending on the database in use, you could implement a stored procedure of some sort. I know SQL Server 2000 (Microsoft) and Postgresql can do that. It could be triggered when an insert on a table of your choice happens.
It will check a value (say the user id of the owner of the post in your SQL uery is a certain number) then skip the insert. It might be costly in terms of memory with the database. If the table is huge the query might take a /little/ bit longer than usual. SQL Server 2000: http://www.15seconds.com/issue/000817.htm Postgresql: http://www.postgresql.org/docs/8.0/static/plpgsql.html Two pages of many, many websites dedicated to both servers. Look around. =) That's not to say you couldn't change your PHP code, then run a UNIX/Windows diff (as in difference) utility to create a file that you can merge back into an upgraded phpBB software installation. http://www.gnu.org/software/diffutils/diffutils.html |
Unfortunately, MySQL does not support stored procedures, so there is really no way to lock a post count without modifying the code that updates the post counts.
If it was using postgresql, you would stand a chance, even though the SQL gods would frown on you using a stored procedure to alter the results of an update statement. |
I may end up putting it in the phpbb code but I really dont want it to execute every time someone posts, even if its just a check on the user id. More of a 'i dont want to keep adding messy code' type of thing
|
If you don't care about being exact, you could just have a little task that runs every five minutes or so (out of cron, probably) that would "UPDATE usertable SET postcount = 5000 WHERE postcount > 5000"
I mean, if you ran it every five minutes, the post counts would only be able to go up by five or so (if they were an extremely ACTIVE poster) until you reset it. |
Just out of curiosity: why would you want to lock someones post count?
|
Sorry, just saw your reply Silvy!
Its requested by the user. The forums are for an online RPG, the person plays a necromancer and wants their post count locked at 666. I did end up finding a PHPBB plugin to let you freeze users post counts :) |
Quote:
|
All times are GMT -8. The time now is 02:43 PM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project