I'm trying to make a script grab how many referrals a members has and then add them to how many they have had it the past. Basically its like a reset referrals system that I'm working on , but I have a row in my database named referrals where I need the total number of referrals to stay up-to-date for the live of the member.
Do I need to make a loop statement for this to work? Here is my code that I'm working with. Any help would be greatly appreciated.
$getold=$DB_site->query("SELECT COUNT(*) as ttl, user.username, user.userid FROM " . TABLE_PREFIX . "user AS users LEFT JOIN user AS user ON (users.referrerid = user.userid)
WHERE user.userid > 0
GROUP BY users.referrerid
ORDER BY ttl DESC");
$gettotalold=$DB_site->fetch_array($getold);
$referralcount=$DB_site->query("SELECT COUNT(*) FROM " . TABLE_PREFIX . "user
WHERE referrerid > 0");
$referralcounts = mysql_fetch_row($referralcount);
$lastreferrals=$DB_site->query("SELECT date FROM " . TABLE_PREFIX . "referrals");
$lastcount = mysql_fetch_row($lastreferrals);
if ($lastcount == ''){
$lastcount[0]="(No Reset Record Found!)";
}
if (($_REQUEST['do'] == 'resetreferrals') && ($referralcounts[0] > '0'))
{
echo"<table align=\"center\"><td>You have a total of: ($referralcounts[0]) referrals since your last reset that was on $lastcount[0].";
print_form_header('referralstats', 'resetnow');
print_table_header($vbphrase['reset_referrals']);
print_description_row($vbphrase['reset_referrals_notice']);
print_submit_row($vbphrase['yes']);
echo"<br>";
print_form_header('referralstats','resetsingle');
print_table_header($vbphrase['reset_referrals_single']);
print_description_row($vbphrase['reset_referrals_notice2']);
print_submit_row($vbphrase['yes']);
}
//// The first query in this script/////
if (($_POST['do'] == 'resetsingle')&&($_POST['member'] != '')){
$DB_site->query("UPDATE " . TABLE_PREFIX . "user SET referrals = referrals+$gettotalold[ttl] WHERE userid = $gettotalold[userid]");
$test=$DB_site->query("SELECT * FROM user WHERE username = '".$_POST['member']."'");
$tester = mysql_fetch_array($test);
$DB_site->query("UPDATE " . TABLE_PREFIX . "user SET referrerid='0' WHERE referrerid = '$tester[userid]'");
define('CP_REDIRECT', 'referralstats.php?do=resetreferrals');
print_stop_message('yes_memberrefer_reset');
} else if (($_POST['do'] == 'resetsingle')&&($_POST['member'] == '')){
print_stop_message('no_referrals');
}
////The first query in this script////
if ($_POST['do'] == 'resetnow')
{
$DB_site->query("UPDATE " . TABLE_PREFIX . "user SET referrals = referrals+$gettotalold[ttl] WHERE userid = $gettotalold[userid]");
$DB_site->query("UPDATE " . TABLE_PREFIX . "user SET referrerid='0' WHERE referrerid > 0");
if ($lastcount[0] == '(No Reset Record Found!)') {
$DB_site->query("INSERT INTO " . TABLE_PREFIX . "referrals SET date='$todaysdate'");
define('CP_REDIRECT', 'referralstats.php?do=resetreferrals');
print_stop_message('yes_referrals_reset');
} else {
$DB_site->query("UPDATE " . TABLE_PREFIX . "referrals SET date='$todaysdate'");
define('CP_REDIRECT', 'referralstats.php?do=resetreferrals');
print_stop_message('yes_referrals_reset');
}
}
else if ($referralcounts[0] == '0'){
print_stop_message('no_referrals_found');
}
print_cp_footer();
I have marked with ////the first query in this script//// to show where I'm trying to keep the total working. Please help me here. Please