ПРОБЛЕМА Помощь в лотерее, сделать ее розыгрыш через определенный срок

profit

Местный
Здравствуйте появилась идея сделать обычную лотерею фф по времени. Сейчас сделано так выставляется общее количество билетов в php после того как все куплены, моментально определяются 3 победителя. А я хочу сделать что бы победителей определяло через определенный срок, например через неделю и сделаю я это по крону (планировщику).

Задали неделю в планировщике срабатывает код считает не билеты а количество участников и начисляет призы, а также выводит статистику. Код получилось написать но есть проблема, не могу в этом коде без сессии юзера, вставить имя в значение что бы произошло начисление приза и статистика, в данном коде выводится просто нули вместо логина и на баланс не начисляет, хотя сам код срабатывает. Подскажите кто то пожалуйста как исправить это ?

PHP:
<?PHP



@error_reporting(E_ALL ^ E_NOTICE);
@ini_set('display_errors', true);
@ini_set('html_errors', false);
@ini_set('error_reporting', E_ALL ^ E_NOTICE);
# Подматываем классы
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);



$db->Query("SELECT
(SELECT COUNT(*) FROM db_lottery) all_users");
$stats_data = $db->FetchArray();




# Настройки лотерея
$amount_lottery = 100; // Стоимость лотерейного билета
$num_bil = $stats_data["all_users"]; // Количество участников



    $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);
                    
                    if($winner_a != $winner_b AND $winner_b != $winner_c AND $winner_c != $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();
                
                # чистим таблицу
                $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, bank, date_add)
                VALUES ('$user_a','$winner_a','$user_b','$winner_b','$user_c','$winner_c','$all_bank','".time()."')");
                
                # Обновляем средства пользователям
                # 1 место(Не вставляется пользователь)
                $money_a = $all_bank * 0.5;
                $db->Query("UPDATE db_users_b SET money_p = money_p + '$money_a' WHERE user = '$user_a'");
                
                # 2 место(Не вставляется пользователь)
                $money_b = $all_bank * 0.25;
                $db->Query("UPDATE db_users_b SET money_p = money_p + '$money_p' WHERE user = '$user_b'");
                
                # 3 место(Не вставляется пользователь)
                $money_c = $all_bank * 0.20;
                $db->Query("UPDATE db_users_b SET money_p = money_p + '$money_c' WHERE user = '$user_c'");




?>
 

Вложения

Invictus

Местный
Нет кода приобретения билетов и соответственно записей в базу юзеров которые участвуют в лотереи. Отсюда не откуда брать юзеров победителей
 

profit

Местный
Нет кода приобретения билетов и соответственно записей в базу юзеров которые участвуют в лотереи. Отсюда не откуда брать юзеров победителей
Получается код покупки есть внутри кабинета на странице самой лотереи, и получается пользователи заносятся в базу в "db_lottery" где заносится и user_id и user то есть логин, сама загвоздка в том что не получается вытянуть победителей из этого кода и начислить им призы
 
Верх