Трех уровневая реферальная система.

  • Автор темы alexsoft59
  • Дата начала
mdsf123
Участник
Сообщения
8
Реакции
0
  • #21
таблицы нужно создать!
 
Siberian_Dragon
Участник
Сообщения
22
Реакции
0
  • #23
PHP:
# Зачисляем баланс

   $serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );
 
   $db->Query("SELECT insert_sum FROM db_users_b WHERE id = '{$user_id}' LIMIT 1");
   $ins_sum = $db->FetchRow();
 
   $serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.55) ) : $serebro;
   $add_tree = ( $ik_payment_amount >= 1999.99) ? 1 : 0;
   $lsb = time();
   $to_referer = ($serebro * 0.10);
   $db->Query("UPDATE db_users_b SET money_b = money_b + '$serebro', e_t = e_t + '$add_tree', to_referer = to_referer + '$to_referer', last_sbor = '$lsb', insert_sum = insert_sum + '$ik_payment_amount' WHERE id = '{$user_id}'");

                $this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$user_id}'");
        $referer_id_1 = $this->db->FetchRow();
      
        $this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_1}'");
        $referer_id_2 = $this->db->FetchRow();
      
        $this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_2}'");
        $referer_id_3 = $this->db->FetchRow();

                $this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_3}'");
        $referer_id_4 = $this->db->FetchRow();
      
        # Зачисляем средства рефереру и дерево
   $add_tree_referer = ($ins_sum <= 0.01) ? ", a_t = a_t + 0" : "";
   $db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer, from_referals = from_referals + '$to_referer' {$add_tree_referer} WHERE id = '$refid'");
      
        # 1
        $sum_for_1 = $sum * 0.2;
        $this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_1}' WHERE id = '{$referer_id_1}'");
      
        # 2
        $sum_for_2 = $sum * 0.15;
        $this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_2}' WHERE id = '{$referer_id_2}'");
      
        # 3
        $sum_for_3 = $sum * 0.1;
        $this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_3}' WHERE id = '{$referer_id_3}'");

                # 4
        $sum_for_4 = $sum * 0.05;
        $this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_4}' WHERE id = '{$referer_id_4}'");
      
        $this->SetToAll($sum);
      
    }
  
}
?>
Нужна помощь. не знаю какой запрос в БД надо сделать, вроди дожно получиться 4-х уровневая реф система
 
D
Den4ik102
  • #24
кто поможет чуваку мне тоже интересно!
 
revofenomen
Участник
Сообщения
121
Реакции
3
  • #25
запрос это не проблема
ты сделал что б при регистрации записывало реферов в БД ? если да то пиши в ЛС вмести или с чей то помощью сможем это доделать)

Siberian_Dragon написал(а):
PHP:
# Зачисляем баланс

   $serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );

   $db->Query("SELECT insert_sum FROM db_users_b WHERE id = '{$user_id}' LIMIT 1");
   $ins_sum = $db->FetchRow();

   $serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.55) ) : $serebro;
   $add_tree = ( $ik_payment_amount >= 1999.99) ? 1 : 0;
   $lsb = time();
   $to_referer = ($serebro * 0.10);
   $db->Query("UPDATE db_users_b SET money_b = money_b + '$serebro', e_t = e_t + '$add_tree', to_referer = to_referer + '$to_referer', last_sbor = '$lsb', insert_sum = insert_sum + '$ik_payment_amount' WHERE id = '{$user_id}'");

                $this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$user_id}'");
        $referer_id_1 = $this->db->FetchRow();
     
        $this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_1}'");
        $referer_id_2 = $this->db->FetchRow();
     
        $this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_2}'");
        $referer_id_3 = $this->db->FetchRow();

                $this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_3}'");
        $referer_id_4 = $this->db->FetchRow();
     
        # Зачисляем средства рефереру и дерево
   $add_tree_referer = ($ins_sum <= 0.01) ? ", a_t = a_t + 0" : "";
   $db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer, from_referals = from_referals + '$to_referer' {$add_tree_referer} WHERE id = '$refid'");
     
        # 1
        $sum_for_1 = $sum * 0.2;
        $this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_1}' WHERE id = '{$referer_id_1}'");
     
        # 2
        $sum_for_2 = $sum * 0.15;
        $this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_2}' WHERE id = '{$referer_id_2}'");
     
        # 3
        $sum_for_3 = $sum * 0.1;
        $this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_3}' WHERE id = '{$referer_id_3}'");

                # 4
        $sum_for_4 = $sum * 0.05;
        $this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_4}' WHERE id = '{$referer_id_4}'");
     
        $this->SetToAll($sum);
     
    }
 
}
?>
Нужна помощь. не знаю какой запрос в БД надо сделать, вроди дожно получиться 4-х уровневая реф система
 
Alisheriminov
Участник
Сообщения
12
Реакции
0
  • #26
Ребят скиньте модуль трехуровневую реферальную сисистему пожалуйста
 
chelton085
Местный
Сообщения
174
Реакции
6
  • #27
Кстати, про посты о смене айпи - вовсе не обязательно делать это через анонимайзер. Элементарно в БД меняем айпи предыдущей вашей реги и все дела) Достаточно сменить всего пару цифр, и неважно, что в БД он запороленный.
 
bodev
Местный
Сообщения
30
Реакции
2
  • #28
У кого то получилось трехуровневую реферальную сисистему прикрутить к ферме?
 
zirocool
Участник
Сообщения
23
Реакции
0
  • #29
Как настроить мерчант.пхп на 3-х уровневую рефералку я понял.
Кто подскажет, что нужно настроить в базе данных?

(PHP поэтапно изучаю, с ним обычно проблем нет. До Mysql еще не добрался)
 
alexsoft59
Капитан очевидность...).
Участник
Сообщения
347
Реакции
29
  • #30
zirocool написал(а):
Как настроить мерчант.пхп на 3-х уровневую рефералку я понял.
Кто подскажет, что нужно настроить в базе данных?

(PHP поэтапно изучаю, с ним обычно проблем нет. До Mysql еще не добрался)
Там нужно добавить по паре колонок в db_users_a и все вроде... Смотри их в мерчанте...
 
zirocool
Участник
Сообщения
23
Реакции
0
  • #31
$this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$user_id}'");$referer_id_1 = $this->db->FetchRow();
$this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_1}'");$referer_id_2 = $this->db->FetchRow();
$this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_2}'");$referer_id_3 = $this->db->FetchRow();
$this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_3}'");$referer_id_4 = $this->db->FetchRow();
# Зачисляем средства рефереру и дерево$add_tree_referer = ($ins_sum <= 0.01) ? ", a_t = a_t + 0" : "";$db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer, from_referals = from_referals + '$to_referer' {$add_tree_referer} WHERE id = '$refid'");
# 1$sum_for_1 = $sum * 0.2;$this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_1}' WHERE id = '{$referer_id_1}'");
# 2$sum_for_2 = $sum * 0.15;$this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_2}' WHERE id = '{$referer_id_2}'");
# 3$sum_for_3 = $sum * 0.1;$this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_3}' WHERE id = '{$referer_id_3}'");
# 4$sum_for_4 = $sum * 0.05;$this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_4}' WHERE id = '{$referer_id_4}'");
$this->SetToAll($sum);

}

Добавил в db_users_a:
referer_id_1
referer_id_2
referer_id_3
referer_id_4

Зарегистрировал на пользователя TEST рефералов в 3 линии. По идее у этих пользователей в колонках должны быть записаны id пользователя TEST, но этого не происходит. А почему?
 
alexsoft59
Капитан очевидность...).
Участник
Сообщения
347
Реакции
29
  • #32
zirocool написал(а):
$this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$user_id}'");$referer_id_1 = $this->db->FetchRow();
$this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_1}'");$referer_id_2 = $this->db->FetchRow();
$this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_2}'");$referer_id_3 = $this->db->FetchRow();
$this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_3}'");$referer_id_4 = $this->db->FetchRow();
# Зачисляем средства рефереру и дерево$add_tree_referer = ($ins_sum <= 0.01) ? ", a_t = a_t + 0" : "";$db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer, from_referals = from_referals + '$to_referer' {$add_tree_referer} WHERE id = '$refid'");
# 1$sum_for_1 = $sum * 0.2;$this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_1}' WHERE id = '{$referer_id_1}'");
# 2$sum_for_2 = $sum * 0.15;$this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_2}' WHERE id = '{$referer_id_2}'");
# 3$sum_for_3 = $sum * 0.1;$this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_3}' WHERE id = '{$referer_id_3}'");
# 4$sum_for_4 = $sum * 0.05;$this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_4}' WHERE id = '{$referer_id_4}'");
$this->SetToAll($sum);

}

Добавил в db_users_a:
referer_id_1
referer_id_2
referer_id_3
referer_id_4

Зарегистрировал на пользователя TEST рефералов в 3 линии. По идее у этих пользователей в колонках должны быть записаны id пользователя TEST, но этого не происходит. А почему?
Так не скажу,нужен код целиком смотреть...
 
zirocool
Участник
Сообщения
23
Реакции
0
  • #33
alexsoft59 написал(а):
Так не скажу,нужен код целиком смотреть...
Вот код моего мерчанта.
<?PHP
# Автоподгрузка классов
function __autoload($name){ include("classes/_class.".$name.".php");}

# Класс конфига
$config = new config;

# Функции
$func = new func;

# База данных
$db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB);

if (isset($_POST["m_operation_id"]) && isset($_POST["m_sign"]))
{
$m_key = $config->secretW;
$arHash = array($_POST['m_operation_id'],
$_POST['m_operation_ps'],
$_POST['m_operation_date'],
$_POST['m_operation_pay_date'],
$_POST['m_shop'],
$_POST['m_orderid'],
$_POST['m_amount'],
$_POST['m_curr'],
$_POST['m_desc'],
$_POST['m_status'],
$m_key);

$sign_hash = strtoupper(hash('sha256', implode(":", $arHash)));
if ($_POST["m_sign"] == $sign_hash && $_POST['m_status'] == "success")
{

$db->Query("SELECT * FROM db_payeer_insert WHERE id = '".intval($_POST['m_orderid'])."'");
if($db->NumRows() == 0){ echo $_POST['m_orderid']."|error"; exit;}

$payeer_row = $db->FetchArray();
if($payeer_row["status"] > 0){ echo $_POST['m_orderid']."|success"; exit;}

$db->Query("UPDATE db_payeer_insert SET status = '1' WHERE id = '".intval($_POST['m_orderid'])."'");

$ik_payment_amount = $payeer_row["sum"];
$user_id = $payeer_row["user_id"];

# Настройки
$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();

$db->Query("SELECT user, referer_id FROM db_users_a WHERE id = '{$user_id}' LIMIT 1");
$user_ardata = $db->FetchArray();
$user_name = $user_ardata["user"];
$refid = $user_ardata["referer_id"];

# Зачисляем баланс
$serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );

$db->Query("SELECT insert_sum FROM db_users_b WHERE id = '{$user_id}' LIMIT 1");
$ins_sum = $db->FetchRow();

if ($ik_payment_amount >= 0.01 AND $ik_payment_amount <= 499.99) $serebro *= 1;
if ($ik_payment_amount >= 500 AND $ik_payment_amount <= 1999.99) $serebro *= 1.5;
if ($ik_payment_amount >= 2000 AND $ik_payment_amount <= 4999.99) $serebro *= 2;
if ($ik_payment_amount >= 5000) $serebro *= 3;

$lsb = time();
$to_referer = ($ik_payment_amount * 10);

//Начисляем билеты
if($ik_payment_amount >= 200 and $ik_payment_amount < 600) {
$bil = $ik_payment_amount / 200;
$bill = intval($bil) ;
} elseif ($ik_payment_amount >= 600 and $ik_payment_amount < 2200) {
$bil = $ik_payment_amount / 200;
$bill = intval($bil) +1;
} elseif ($ik_payment_amount >= 2200 and $ik_payment_amount < 5000) {
$bil = $ik_payment_amount / 200;
$bill = intval($bil) + 3; // если сумма больше 2200 и меньше 5000 руб то бонус 3 билета
}elseif ($ik_payment_amount >= 5000) {
$bil = $ik_payment_amount / 200;
$bill = intval($bil) + 5; // если сумма больше 5000 руб то бонус 5 билета
}else{
$bill = 0;
}

$db->Query("UPDATE db_users_b SET money_b = money_b + '$serebro', to_referer = to_referer + '$to_referer', last_sbor = '$lsb', insert_sum = insert_sum + '$ik_payment_amount', billet = billet + '$bill' WHERE id = '{$user_id}'");



# Зачисляем средства рефереру и дерево
$db->Query("UPDATE db_users_b SET money_p = money_p + $to_referer, from_referals = from_referals + '$to_referer' WHERE id = '$refid'");


# Статистика пополнений
$da = time();
$dd = $da + 60*60*24*15;
$db->Query("INSERT INTO db_insert_money (user, user_id, money, serebro, date_add, date_del)
VALUES ('$user_name','$user_id','$ik_payment_amount','$serebro','$da','$dd')");



# Обновление статистики сайта
$db->Query("UPDATE db_stats SET all_insert = all_insert + '$ik_payment_amount' WHERE id = '1'");

echo $_POST['m_orderid']."|success";
exit;


}
echo $_POST['m_orderid']."|error";
}
?>

Вот код, который я взял отсюда, и хочу его вставить в свой мерчант (точнее уже вставил, но реферальная система вообще сломалась, пришлось убрать)

$this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$user_id}'");$referer_id_1 = $this->db->FetchRow();
$this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_1}'");$referer_id_2 = $this->db->FetchRow();
$this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_2}'");$referer_id_3 = $this->db->FetchRow();
$this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_3}'");$referer_id_4 = $this->db->FetchRow();

# Зачисляем средства реферерам

# 1
$sum_for_1 = $sum * 0.2;$this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_1}' WHERE id = '{$referer_id_1}'");

# 2
$sum_for_2 = $sum * 0.15;$this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_2}' WHERE id = '{$referer_id_2}'");

# 3
$sum_for_3 = $sum * 0.1;$this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_3}' WHERE id = '{$referer_id_3}'");

# 4
$sum_for_4 = $sum * 0.05;$this->db->Query("UPDATE db_users_b SET money_b = money_b + '{$sum_for_4}' WHERE id = '{$referer_id_4}'");
$this->SetToAll($sum);
 
Последнее редактирование:
ZLODEY
Местный
Сообщения
82
Реакции
3
  • #34
Я нашел в скрипте 3х уровневую реферальскую программу: 30%-10%-5%, сейчас попробую вытащить
 
The Doshs
Участник
Сообщения
383
Реакции
63
  • #35
mrleks написал(а):
Так в архиве не динозавры а рыбы((( есть с динозаврами?
Есть,готов отдать бесплатно;)
 
ZLODEY
Местный
Сообщения
82
Реакции
3
  • #36
Так рефералы сортируются по категориям 1 уровень 2 уровень 3 уровень, после пополнения баланса?
 
zirocool
Участник
Сообщения
23
Реакции
0
  • #37
ZLODEY написал(а):
Так рефералы сортируются по категориям 1 уровень 2 уровень 3 уровень, после пополнения баланса?
Кстати, ты навел на мысль. А почему код трехуровневой рефералки вставляется в мерчант? :D
 
zirocool
Участник
Сообщения
23
Реакции
0
  • #38
В файле signup.php получается нужно прописывать код записи в базу данных о 2-х реферов свыше
Вот теперь я окончательно запутался, как вообще прописать этот код))
 
alexsoft59
Капитан очевидность...).
Участник
Сообщения
347
Реакции
29
  • #39
zirocool написал(а):
В файле signup.php получается нужно прописывать код записи в базу данных о 2-х реферов свыше
Вот теперь я окончательно запутался, как вообще прописать этот код))
Так канешно надо,иначе как они формироваться то будут? В чем ты запутался,объясни...
 
ZLODEY
Местный
Сообщения
82
Реакции
3
  • #40
alexsoft59 написал(а):
Так канешно надо,иначе как они формироваться то будут? В чем ты запутался,объясни...
Я все файлы вытащил из скрипта, осталось код на странице регистрации прописать и работать будет.
 
Сверху