Eraly01
Участник
- Сообщения
- 16
- Реакции
- 1
Всем привет! Сегодня я установил в ферму модуль "Payeer лотерея" . И в нем 5 билетов цена 10 руб. Мест 1. И задача: хочу сделать 10 мест 5 побед и цена 5. Цена и билеты понятны но хочу сделать 5 победных мест. Помогите.
Код:
Код:
PHP:
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Лотерея";
$usid = $_SESSION["user_id"];
$uname = $_SESSION["user"];
# Настройки лотерея
$amount_lottery = 5; // Стоимость лотерейного билета
$num_bil = 10; // Количество билетов
?>
<div class="s-bk-lf">
<div class="acc-title">Лотерея</div>
</div>
<div class="silver-bk">
<div class="clr"></div>
<?PHP
# список предыдущих лотерей
if(isset($_GET["winners"])){ ?>
<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
<tr>
<td colspan="6" align="center"><h4>Завершенные лотереи</h4></td>
</tr>
<tr>
<td align="center" class="m-tb">№</td>
<td align="center" class="m-tb">Пользователь<BR />[Билет]</td>
<td align="center" class="m-tb">Банк</td>
<td align="center" class="m-tb">Дата</td>
</tr>
<?PHP
$db->Query("SELECT * FROM db_payeerlottery_winners ORDER BY id DESC");
if($db->NumRows() > 0){
while($ref = $db->FetchArray()){
?>
<tr class="htt">
<td align="center"><?=$ref["id"]; ?></td>
<td align="center"><?=$ref["user_a"]; ?><BR />Билет: <?=$ref["bil_a"]; ?></td>
<td align="center"><?=$ref["bank"]; ?></td>
<td align="center"><?=date("d.m.Y",$ref["date_add"]); ?></td>
</tr>
<?PHP
}
}else echo '<tr><td align="center" colspan="6">Нет записей</td></tr>'
?>
</table>
<div class="clr"></div></div>
<?PHP return; } ?>
<b>Лотерея</b> - это такая игры :) Всего имеется <?=$num_bil; ?> билетов. После того, как все билеты будут проданы состоится розыгрыш счастливых билетов. Система случайным образом выберет 3 номера счастливых билетов и зачислит им призы. <BR />
1 место - 90% от общего банка [<?=($amount_lottery * $num_bil) * 0.9; ?> рублей]. <BR />
Остальные 10% составляют комиссию системы.
<BR />
<u>Стоимость билета = <?=$amount_lottery; ?> рублей</u>.
<BR />
<a href="/account/payeerlottery/winners">Список завершенных лотерей</a>
<BR /><BR />
<?PHP
function ViewPurse($purse){
if( substr($purse,0,1) != "P" ) return false;
if( !preg_match("/^[0-9]{7,8}$/", substr($purse,1)) ) return false;
return $purse;
}
if(isset($_POST["purse"])){
$purse = ViewPurse($_POST["purse"]);
if($purse !== false){
if(isset($_POST["set_paylottery"], $_POST["hash"]) AND $_SESSION["lotpay_hash"] == $_POST["hash"]){
$sum = 10;
# Заносим в БД
$db->Query("INSERT INTO db_payeerlottery_insert (user_id, user, purse, sum, date_add) VALUES ('".$_SESSION["user_id"]."','".$_SESSION["user"]."','$purse','$sum','".time()."')");
$desc = base64_encode($_SERVER["HTTPS_HOST"]." - USER ".$_SESSION["user"]);
$m_shop = $config->shopIDlot;
$m_orderid = $db->LastInsert();
$m_amount = number_format($sum, 2, ".", "");
$m_curr = "RUB";
$m_desc = $desc;
$m_key = $config->secretWlot;
$arHash = array(
$m_shop,
$m_orderid,
$m_amount,
$m_curr,
$m_desc,
$m_key
);
$sign = strtoupper(hash('sha256', implode(":", $arHash)));
?>
<center>
<form method="GET" action="//payeer.com/merchant/">
<input type="hidden" name="m_shop" value="<?=$config->shopIDlot; ?>">
<input type="hidden" name="m_orderid" value="<?=$m_orderid; ?>">
<input type="hidden" name="m_amount" value="<?=number_format($sum, 2, ".", "")?>">
<input type="hidden" name="m_curr" value="RUB">
<input type="hidden" name="m_desc" value="<?=$desc; ?>">
<input type="hidden" name="m_sign" value="<?=$sign; ?>">
<input type="submit" name="m_process" value="Оплатить и получить билет" />
</form>
</center>
<div class="clr"></div>
</div>
<?PHP
return;
}
}else echo "<center><b><font color = 'red'>Кошелек Payeer указан неверно! Смотрите образец!</font></b></center><BR />";
}
?>
<center>
<?PHP
$_SESSION["lotpay_hash"] = rand(1, 9999999);
?>
<form action="" method="post">
<table width="99%" border="0" align="center">
<tr>
<td><font color="#000;">Введите кошелек Payeer [Пример: P1112457]</font>: </td>
<td><input type="text" name="purse" size="15"/></td>
</tr>
</table>
<input type="submit" name="set_paylottery" value="Купить билет" class="MyButton" style="padding:7px;" />
<input type="hidden" name="hash" value="<?=$_SESSION["lotpay_hash"]; ?>" />
</form>
</center>
<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
<tr>
<td colspan="5" align="center"><h4>Пользователи купившие билеты</h4></td>
</tr>
<tr>
<td align="center" class="m-tb">№ билета</td>
<td align="center" class="m-tb">Пользователь</td>
<td align="center" class="m-tb">Дата</td>
</tr>
<?PHP
$db->Query("SELECT * FROM db_payeerlottery ORDER BY id DESC");
if($db->NumRows() > 0){
while($ref = $db->FetchArray()){
?>
<tr class="htt">
<td align="center"><?=$ref["id"]; ?></td>
<td align="center"><?=$ref["user"]; ?></td>
<td align="center"><?=date("d.m.Y",$ref["date_add"]); ?></td>
</tr>
<?PHP
}
}else echo '<tr><td align="center" colspan="3">Нет записей</td></tr>'
?>
</table><div class="clr"></div>
</div>
Вложения
-
195,2 KB Просмотры: 171
-
5,1 KB Просмотры: 105
Последнее редактирование:
Andreys
Участник
- Сообщения
- 576
- Реакции
- 40
PHP:
<?PHP
if(isset($_POST["set_lottery"], $_POST["hash"]) AND $_SESSION["lot_hash"] == $_POST["hash"]){
$db->Query("SELECT money_b FROM db_users_b WHERE id = '{$usid}' LIMIT 1");
if($db->FetchRow() >= $amount_lottery){
$db->Query("UPDATE db_users_b SET money_b = money_b - '$amount_lottery' WHERE id = '{$usid}'");
$db->Query("INSERT INTO db_lottery (user_id, user, date_add) VALUE ('$usid','$uname','".time()."')");
$lid = $db->LastInsert();
if( $lid >= $num_bil){
# Розыгрываем призы
while(true){
$winner_a = rand(1, $num_bil);
$winner_b = rand(1, $num_bil);
$winner_c = rand(1, $num_bil);
$winner_d = rand(1, $num_bil);
$winner_e = rand(1, $num_bil);
$winner_f = rand(1, $num_bil);
if($winner_a != $winner_b AND $winner_b != $winner_c AND $winner_c != $winner_d AND $winner_d != $winner_e AND $winner_e != $winner_f AND $winner_f != $winner_a) break;
}
# Пользователь 1
$db->Query("SELECT user FROM db_lottery WHERE id = '$winner_a'");
$user_a = $db->FetchRow();
# Пользователь 2
$db->Query("SELECT user FROM db_lottery WHERE id = '$winner_b'");
$user_b = $db->FetchRow();
# Пользователь 3
$db->Query("SELECT user FROM db_lottery WHERE id = '$winner_c'");
$user_c = $db->FetchRow();
# Пользователь 4
$db->Query("SELECT user FROM db_lottery WHERE id = '$winner_d'");
$user_d = $db->FetchRow();
# Пользователь 5
$db->Query("SELECT user FROM db_lottery WHERE id = '$winner_e'");
$user_e = $db->FetchRow();
# Пользователь 6
$db->Query("SELECT user FROM db_lottery WHERE id = '$winner_f'");
$user_f = $db->FetchRow();
# чистим таблицу
$db->Query("TRUNCATE TABLE db_lottery");
# Вставляем запись о победителях
$all_bank = ($num_bil * $amount_lottery);
$db->Query("INSERT INTO db_lottery_winners (user_a, bil_a, user_b, bil_b, user_c, bil_c, user_d, bil_d, user_e, bil_e, user_f, bil_f, bank, date_add)
VALUES ('$user_a','$winner_a','$user_b','$winner_b','$user_c','$winner_c','$user_d','$winner_d','$user_e','$winner_e','$user_f','$winner_f','$all_bank','".time()."')");
# Обновляем средства пользователям
# 1 место
$money_a = $all_bank * 0.25;
$db->Query("UPDATE db_users_b SET money_b = money_b + '$money_a' WHERE user = '$user_a'");
# 2 место
$money_b = $all_bank * 0.20;
$db->Query("UPDATE db_users_b SET money_b = money_b + '$money_b' WHERE user = '$user_b'");
# 3 место
$money_c = $all_bank * 0.15;
$db->Query("UPDATE db_users_b SET money_b = money_b + '$money_c' WHERE user = '$user_c'");
# 4 место
$money_d = $all_bank * 0.10;
$db->Query("UPDATE db_users_b SET money_b = money_b + '$money_d' WHERE user = '$user_d'");
# 5 место
$money_e = $all_bank * 0.06;
$db->Query("UPDATE db_users_b SET money_b = money_b + '$money_e' WHERE user = '$user_e'");
# 6 место
$money_f = $all_bank * 0.04;
$db->Query("UPDATE db_users_b SET money_b = money_b + '$money_f' WHERE user = '$user_f'");
echo "<center><b><font color='green'>Лотерея окончена</font></b></center><BR />";
}else echo "<center><b><font color='green'>Билет успешно куплен</font></b></center><BR />";
}else echo "<center><b><font color='red'>Недостаточно средств для покупки билета</font></b></center><BR />";
}
?>
вот примерный код, я себе делал, на 10 билетов, и выигрышные 6 билетов,
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.337
а в чем тогда помощь должна заключаться? ты же все сделал...Sogan написал(а):Там кучу чего надо переделывать, и в самой базе столбы добавлять,PHP:<?PHP if(isset($_POST["set_lottery"], $_POST["hash"]) AND $_SESSION["lot_hash"] == $_POST["hash"]){ $db->Query("SELECT money_b FROM db_users_b WHERE id = '{$usid}' LIMIT 1"); if($db->FetchRow() >= $amount_lottery){ $db->Query("UPDATE db_users_b SET money_b = money_b - '$amount_lottery' WHERE id = '{$usid}'"); $db->Query("INSERT INTO db_lottery (user_id, user, date_add) VALUE ('$usid','$uname','".time()."')"); $lid = $db->LastInsert(); if( $lid >= $num_bil){ # Розыгрываем призы while(true){ $winner_a = rand(1, $num_bil); $winner_b = rand(1, $num_bil); $winner_c = rand(1, $num_bil); $winner_d = rand(1, $num_bil); $winner_e = rand(1, $num_bil); $winner_f = rand(1, $num_bil); if($winner_a != $winner_b AND $winner_b != $winner_c AND $winner_c != $winner_d AND $winner_d != $winner_e AND $winner_e != $winner_f AND $winner_f != $winner_a) break; } # Пользователь 1 $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_a'"); $user_a = $db->FetchRow(); # Пользователь 2 $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_b'"); $user_b = $db->FetchRow(); # Пользователь 3 $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_c'"); $user_c = $db->FetchRow(); # Пользователь 4 $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_d'"); $user_d = $db->FetchRow(); # Пользователь 5 $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_e'"); $user_e = $db->FetchRow(); # Пользователь 6 $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_f'"); $user_f = $db->FetchRow(); # чистим таблицу $db->Query("TRUNCATE TABLE db_lottery"); # Вставляем запись о победителях $all_bank = ($num_bil * $amount_lottery); $db->Query("INSERT INTO db_lottery_winners (user_a, bil_a, user_b, bil_b, user_c, bil_c, user_d, bil_d, user_e, bil_e, user_f, bil_f, bank, date_add) VALUES ('$user_a','$winner_a','$user_b','$winner_b','$user_c','$winner_c','$user_d','$winner_d','$user_e','$winner_e','$user_f','$winner_f','$all_bank','".time()."')"); # Обновляем средства пользователям # 1 место $money_a = $all_bank * 0.25; $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_a' WHERE user = '$user_a'"); # 2 место $money_b = $all_bank * 0.20; $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_b' WHERE user = '$user_b'"); # 3 место $money_c = $all_bank * 0.15; $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_c' WHERE user = '$user_c'"); # 4 место $money_d = $all_bank * 0.10; $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_d' WHERE user = '$user_d'"); # 5 место $money_e = $all_bank * 0.06; $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_e' WHERE user = '$user_e'"); # 6 место $money_f = $all_bank * 0.04; $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_f' WHERE user = '$user_f'"); echo "<center><b><font color='green'>Лотерея окончена</font></b></center><BR />"; }else echo "<center><b><font color='green'>Билет успешно куплен</font></b></center><BR />"; }else echo "<center><b><font color='red'>Недостаточно средств для покупки билета</font></b></center><BR />"; } ?>
вот примерный код, я себе делал, на 10 билетов, и выигрышные 6 билетов,