Lis1988
Местный
- Сообщения
- 32
- Реакции
- 5
TyTuKeT
Участник
- Сообщения
- 219
- Реакции
- 37
Можно так попробовать.Lis1988 написал(а):Подскажите пожалуйста, как сделать так чтобы при пополнении к примеру на 100 руб был бонус 50%, при пополнении 200 руб бонус 100 % при пополнении 500 руб бонус 200%
PHP:
$serebroproc = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );
if($procent = $ik_payment_amount >= 0.01 and $ik_payment_amount < 100) {
$insertproc = $serebroproc + ($serebroproc * 50/100); //50% от 0.01 копеики до 100 рублей.
}elseif ($ik_payment_amount >= 100 and $ik_payment_amount < 200) {
$insertproc = $serebroproc + ($serebroproc * 100/100); //100% от 100 рублей до 200 рублей.
}elseif ($ik_payment_amount >= 200 and $ik_payment_amount < 500) {
$insertproc = $serebroproc + ($serebroproc * 200/100); //200% от 200 рублей до 500 рублей.
}elseif ($ik_payment_amount >= 500 and $ik_payment_amount < 50000) {
$insertproc = $serebroproc + ($serebroproc * 200/100); //200% от 500 рублей до 50000 рублей.
}else{
$insertproc = 0;
}
//в запросе в базе изменить money_b = money_b + '$serebro' на money_b = money_b + '$serebroproc'
- Сообщения
- 280
- Реакции
- 46
Можно проще:TyTuKeT написал(а):Можно так попробовать.
PHP:$serebroproc = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) ); if($procent = $ik_payment_amount >= 0.01 and $ik_payment_amount < 100) { $insertproc = $serebroproc + ($serebroproc * 50/100); //50% от 0.01 копеики до 100 рублей. }elseif ($ik_payment_amount >= 100 and $ik_payment_amount < 200) { $insertproc = $serebroproc + ($serebroproc * 100/100); //100% от 100 рублей до 200 рублей. }elseif ($ik_payment_amount >= 200 and $ik_payment_amount < 500) { $insertproc = $serebroproc + ($serebroproc * 200/100); //200% от 200 рублей до 500 рублей. }elseif ($ik_payment_amount >= 500 and $ik_payment_amount < 50000) { $insertproc = $serebroproc + ($serebroproc * 200/100); //200% от 500 рублей до 50000 рублей. }else{ $insertproc = 0; } //в запросе в базе изменить money_b = money_b + '$serebro' на money_b = money_b + '$serebroproc'
$serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) ); //ну это есть по умолчанию в мерчанте.
$serebroproc = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );
if($ik_payment_amount >= 100){
$serebro = $serebroproc * 1.5;
}
if($ik_payment_amount >= 200){
$serebro = $serebroproc * 2;
}
if($ik_payment_amount >= 500){
$serebro = $serebroproc * 3;
}
и никаких запросов и прочего больше менять нигде не надо..
TyTuKeT
Участник
- Сообщения
- 219
- Реакции
- 37
при таком раскладе нужно удалить будетskroliks написал(а):Можно проще:
$serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) ); //ну это есть по умолчанию в мерчанте.
$serebroproc = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );
if($ik_payment_amount >= 100){
$serebro = $serebroproc * 1.5;
}
if($ik_payment_amount >= 200){
$serebro = $serebroproc * 2;
}
if($ik_payment_amount >= 500){
$serebro = $serebroproc * 3;
}
и никаких запросов и прочего больше менять нигде не надо..
PHP:
$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro;
$serebro = intval($ins_sum >= 0.01) ? ($serebro + ($serebro * 0.25) ) : $serebro;
- Сообщения
- 280
- Реакции
- 46
Ну это у тебя оно такого вида, у меня:TyTuKeT написал(а):при таком раскладе нужно удалить будет
иначе накидает процентовPHP:$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro; $serebro = intval($ins_sum >= 0.01) ? ($serebro + ($serebro * 0.25) ) : $serebro;
$serebro = intval($ins_sum <= 0.01) ? ($serebro) : $serebro;
У всех по разному.. Так что - да, кто будет код забирать - не забудьте поменять аналогичную строку на ту, которую я дал или вообще удалить
Lis1988
Местный
- Сообщения
- 32
- Реакции
- 5
А после каких строк вставлять?skroliks написал(а):Можно проще:
$serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) ); //ну это есть по умолчанию в мерчанте.
$serebroproc = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );
if($ik_payment_amount >= 100){
$serebro = $serebroproc * 1.5;
}
if($ik_payment_amount >= 200){
$serebro = $serebroproc * 2;
}
if($ik_payment_amount >= 500){
$serebro = $serebroproc * 3;
}
и никаких запросов и прочего больше менять нигде не надо..
- Сообщения
- 280
- Реакции
- 46
После:
# Зачисляем баланс
$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
Дальше вставляешь:
serebroproc = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );
$serebro = intval($ins_sum <= 0.01) ? ($serebro) : $serebro;
if($ik_payment_amount >= 100){
$serebro = $serebroproc * 1.5;
}
if($ik_payment_amount >= 200){
$serebro = $serebroproc * 2;
}
if($ik_payment_amount >= 500){
$serebro = $serebroproc * 3;
}
# Зачисляем баланс
$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
Дальше вставляешь:
serebroproc = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );
$serebro = intval($ins_sum <= 0.01) ? ($serebro) : $serebro;
if($ik_payment_amount >= 100){
$serebro = $serebroproc * 1.5;
}
if($ik_payment_amount >= 200){
$serebro = $serebroproc * 2;
}
if($ik_payment_amount >= 500){
$serebro = $serebroproc * 3;
}
Lis1988
Местный
- Сообщения
- 32
- Реакции
- 5
1.5, 2, 3 это как понимаю процентskroliks написал(а):После:
# Зачисляем баланс
$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
Дальше вставляешь:
serebroproc = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );
$serebro = intval($ins_sum <= 0.01) ? ($serebro) : $serebro;
if($ik_payment_amount >= 100){
$serebro = $serebroproc * 1.5;
}
if($ik_payment_amount >= 200){
$serebro = $serebroproc * 2;
}
if($ik_payment_amount >= 500){
$serebro = $serebroproc * 3;
}
- Сообщения
- 280
- Реакции
- 46
Lis1988
Местный
- Сообщения
- 32
- Реакции
- 5
А разве не 0.5 50 %skroliks написал(а):Ну да, 50%, 100% и 200%
- Сообщения
- 280
- Реакции
- 46
Промежутки можно запилить так:
$ins_sum - думаю понимаете что это 
Ну и всеми любимый бонус:
Код:
// до 100 рублей +20%, от 101-500 50% от 501+ 100%
if ($ins_sum >= 1 AND $ins_sum <= 100) {
$serebro = ($serebro + ($serebro * 0.2) );
}
if ($ins_sum >= 101 AND $ins_sum <= 500) {
$serebro = ($serebro + ($serebro * 0.5) );
}
if ($ins_sum >= 501 AND $ins_sum <= 10000) {
$serebro = ($serebro + ($serebro * 1) );
}
Ну и всеми любимый бонус:
Код:
//при первом пополнений +50%!
$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : ($serebro + ($serebro * 0) ) ;
kondor
Участник
- Сообщения
- 27
- Реакции
- 1
подскажите кто нибудь,человек пополнил 170руб.первый раз, получил 25500 серебра,только как ?че то я мозг сломал.
вот код :
$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro;
$serebro = intval($ins_sum >= 99.99) ? ($serebro + ($serebro * 2.0) ) : $serebro;
$add_tree = ( $ik_payment_amount >= 499.99) ? 0 : 0;
$lsb = time();
$to_referer = ($serebro * 0.10);
вот код :
$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro;
$serebro = intval($ins_sum >= 99.99) ? ($serebro + ($serebro * 2.0) ) : $serebro;
$add_tree = ( $ik_payment_amount >= 499.99) ? 0 : 0;
$lsb = time();
$to_referer = ($serebro * 0.10);
Kojo
Участник
- Сообщения
- 286
- Реакции
- 53
вот такkondor написал(а):подскажите кто нибудь,человек пополнил 170руб.первый раз, получил 25500 серебра,только как ?че то я мозг сломал.
вот код :
$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro;
$serebro = intval($ins_sum >= 99.99) ? ($serebro + ($serebro * 2.0) ) : $serebro;
$add_tree = ( $ik_payment_amount >= 499.99) ? 0 : 0;
$lsb = time();
$to_referer = ($serebro * 0.10);
$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro;
kondor
Участник
- Сообщения
- 27
- Реакции
- 1
в процентах посчитал это 150%выдалоKojo написал(а):вот так)
$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro;
Kojo
Участник
- Сообщения
- 286
- Реакции
- 53
Ну всё, правильно. 25500 серебра это 150% при пополнении 170 рубkondor написал(а):в процентах посчитал это 150%выдало
kondor
Участник
- Сообщения
- 27
- Реакции
- 1
так а в коде разве 150% выставлено?Kojo написал(а):Ну всё, правильно. 25500 серебра это 150% при пополнении 170 руб
Kojo
Участник
- Сообщения
- 286
- Реакции
- 53
($serebro + ($serebro * 0.5)kondor написал(а):так а в коде разве 150% выставлено?
$serebro = 100%
kondor
Участник
- Сообщения
- 27
- Реакции
- 1
как исправить на 200%при любом пополнении?Kojo написал(а):($serebro + ($serebro * 0.5)
$serebro = 100%
Последнее редактирование: