Page 1 of 1

Count down postings remaining for user

Posted: Thu Sep 04, 2008 1:23 pm
by admin2gd1
I am trying to update the amount of postings remaining down everytime a user posts so if the user had a limit of 200 posts then when the user posts it counts down by 1 and updates the table field for that user to 199.

Now the error that I am getting is that it does not count down correctly and puts 20 instead and then the next time the user posts after that it will put 0.

Code: Select all

$remain = mysql_query("SELECT postings_remaining FROM ".TBL_USERS." WHERE username = '$session->username' limit 1");
        $postings = $remain; //Count the number of postings remaining the user has
        $postingsremain = $postings - 1; //Remove 1 to the users posting remainings
        $sqlcountdown = mysql_query("UPDATE ".TBL_USERS." SET postings_remaining = '$postingsremain' WHERE username = '$session->username'");
 
If someone can help me with this function I would very much appreciate it.

Re: Count down postings remaining for user

Posted: Thu Sep 04, 2008 1:32 pm
by starram
Hey when a user posts you must be storing his id somewhere in database. just count all those records using his id and deduct them from 200 or whatever is the limit. You will get the remaining posts.

Re: Count down postings remaining for user

Posted: Thu Sep 04, 2008 2:11 pm
by dajawu
You need to fetch the data from the query using mysql_fetch_row first. Try this code, be sure to add error checking in case the user doesn't exist, etc...

Code: Select all

 
$remain = mysql_query("SELECT postings_remaining FROM ".TBL_USERS." WHERE username = '$session->username' limit 1");
$remain = mysql_fetch_row($remain);
$postings = $remain[0]; //Count the number of postings remaining the user has
$postingsremain = $postings - 1; //Remove 1 to the users posting remainings
$sqlcountdown = mysql_query("UPDATE ".TBL_USERS." SET postings_remaining = '$postingsremain' WHERE username = '$session->username'");
 

Re: Count down postings remaining for user

Posted: Thu Sep 04, 2008 3:48 pm
by admin2gd1
That worked great, thank you.