По поводу конкурса рефераллов

  • Автор темы անդեմ
  • Дата начала
անդեմ
Местный
Сообщения
56
Реакции
16
Возникла такая вот проблема: после запуска конкурса рефералов пополнил баланс на опр сумму, зареган под админа (id 1) но в конкурсе не отображается участник рефер, в payeer мерчанте конкурс прописан, незнаю в чем проблема вот код :
PHP:
<?PHP
$_OPTIMIZATION["title"] = "Конкурс рефералов";
$_OPTIMIZATION["description"] = "Конкурс рефералов";
$_OPTIMIZATION["keywords"] = "Конкурс, конкурс рефералов";
?>
<div class="s-bk-lf">
    <div class="acc-title">Конкурс рефералов</div>
</div>
<div class="silver-bk"><div class="clr"></div>   
<center><a href="/contests" class="stn">Текущие конкурсы</a> || <a href="/?menu=competition&list" class="stn">Завершенные</a></center><BR />
<?PHP

# Список конкурсов
if(isset($_GET["list"])){


    # Список пользователей
    $db->Query("SELECT * FROM ".$pref."_competition WHERE status > 0");
    if($db->NumRows() > 0){
    
    ?>
    
    
    <?PHP
        while($data = $db->FetchArray()){
        
        ?>
            <table width="99%" border="0" align="center">
            <tr bgcolor="#efefef">
                <td align="center" width="75" class="m-tb">ID</td>
                <td align="center" class="m-tb">Начат</td>
                <td align="center" class="m-tb">Завершен</td>
                <td align="center" class="m-tb">Фонд</td>
            </tr>
            <tr class="htt" >
                <td align="center"><?=$data["id"]; ?></td>
                <td align="center"><?=date("d.m.Y", $data["date_add"]); ?></td>
                <td align="center"><?=date("d.m.Y", $data["date_end"]); ?></td>
                <td align="center"><?=$data["1m"]+$data["2m"]+$data["3m"]; ?> RUB</td>
             </tr>
            <tr bgcolor="#efefef">
                <td align="center" width="75" class="m-tb">Статус</td>
                <td align="center" class="m-tb">1 место / приз</td>
                <td align="center" class="m-tb">2 место / приз</td>
                <td align="center" class="m-tb">3 место / приз</td>
            </tr>
            <tr class="htt" >
                <td align="center"><?=($data["status"] > 1) ? "Отменен" : "Завершен"; ?></td>
                <td align="center"><?=$data["user_1"]; ?> / <?=$data["1m"]; ?></td>
                <td align="center"><?=$data["user_2"]; ?> / <?=$data["2m"]; ?></td>
                <td align="center"><?=$data["user_3"]; ?> / <?=$data["3m"]; ?></td>
             </tr>
            </table>
        <BR /><BR />
        <?PHP
        }

    }else echo "<center><b><font color = 'red'>Нет завершенных конкурсов</font></b></center><BR />";


?>
</div>
<div class="clr"></div>   
<?PHP

return;
}


$db->Query("SELECT * FROM ".$pref."_competition WHERE status = 0 LIMIT 1");
if($db->NumRows() == 1){
$comp = $db->FetchArray();   
    ?>
<b>Конкурс рефералов № <?=$comp["id"]; ?> с общим призовым фондом <?=$comp["1m"]+$comp["2m"]+$comp["3m"]; ?> RUB<BR /><BR />
Старт конкурса: <?=date("d.m.Y в H:i:s", $comp["date_add"]); ?> <BR />Завершение: <?=date("d.m.Y в H:i:s", $comp["date_end"]); ?>
<BR /><BR />
<u>Призовые места:</u><BR />
1 - <?=$comp["1m"]; ?> RUB <BR />
2 - <?=$comp["2m"]; ?> RUB <BR />
3 - <?=$comp["3m"]; ?> RUB <BR /><BR />

В конкурсе учитываются только активные рефералы, которые зарегистрировались после запуска конкурса. <BR />За каждое пополнение баланса Вашим рефералом Вам начисляются баллы, 1 RUB = 1 баллу. Чем больше баллов, тем больше шанс победить в конкурсе. <BR /><BR />
</b>
    <?PHP
    
    # Список пользователей
    $db->Query("SELECT * FROM ".$pref."_competition_users ORDER BY points DESC LIMIT 100");
    if($db->NumRows() > 0){
    
    ?>
    <center><b>Таблица лидеров</b></center>
<table width="99%" border="0" align="center">
  <tr bgcolor="#efefef">
    <td align="center" width="75" class="m-tb">Позиция</td>
    <td align="center" class="m-tb">Пользователь</td>
    <td align="center" class="m-tb">Баллов</td>
    <td align="center" class="m-tb">Приз</td>
  </tr>
    <?PHP
        $position = 1;
        while($data = $db->FetchArray()){
        
        ?>
            <tr class="htt" >
                <td align="center" width="75"><?=$position; ?></td>
                <td align="center"><?=$data["user"]; ?></td>
                <td align="center"><?=sprintf("%.0f",$data["points"]); ?></td>
                <td align="center"><?=(intval($comp["{$position}m"]) > 0) ? $comp["{$position}m"]." RUB" : "-" ?></td>
             </tr>
        <?PHP
        $position++;
        }
    
    ?>
</table>
<BR />
    <?PHP
    
    }else echo "<center><b><font color = 'red'>Нет участников в конкурсе</font></b></center><BR />";

}else echo "<center><b><font color = 'red'>В данный момент конкурс не проводится</font></b></center><BR />";

?>
</div>
<div class="clr"></div>
что не так где ошибка?
 
pligin
Участник
Сообщения
3.654
Реакции
1.337
անդեմ написал(а):
там пусто почему-то..
так список участников конкурса формируется именно там.
смотри файл /classes/_class.competition.php
 
անդեմ
Местный
Сообщения
56
Реакции
16
вот он
PHP:
<?PHP

class competition{

    var $db = NULL;
    var $compd = array();
    
    
    # Конструктор
    function __construct($db){
    
        $this->db = $db;
        $this->compd = $this->CompData();
        
    }
    
    # Данные конкурса
    function CompData(){
    
        $this->db->Query("SELECT * FROM wmrush_competition WHERE status = '0' LIMIT 1");   
        if($this->db->NumRows() > 0){
            
            return $this->db->FetchArray();

                
        }else return false;
    }
    
    # Обновляем очки пользователя
    function UpdatePoints($user_id, $sum){
    
        $user_id = intval($user_id);
        $sum = round($sum, 2);
        
        if($this->compd["date_add"] >= 0 AND $this->compd["date_end"] > time()){
        
            $this->db->Query("SELECT referer, referer_id, date_reg FROM wmrush_users_a WHERE id = '{$user_id}'");
            $ret_d = $this->db->FetchArray();
            
            if($ret_d["date_reg"] >= $this->compd["date_add"]){
            
                # Проверяем есть ли пользователь в конкурсе
                $ref_id = $ret_d["referer_id"];
                $ref = $ret_d["referer"];
                $this->db->Query("SELECT COUNT(*) FROM wmrush_competition_users WHERE user_id = '{$ref_id}'");
                if($this->db->FetchRow() == 1){
                
                    $this->db->Query("UPDATE wmrush_competition_users SET points = points + '{$sum}' WHERE user_id = '{$ref_id}'");
                
                }else $this->db->Query("INSERT INTO wmrush_competition_users (user, user_id, points) VALUES ('{$ref}','{$ref_id}','$sum')");
                
                return true;
                
            }else return false;
            
        }else return false;
        
    }
    
}



?>
 
անդեմ
Местный
Сообщения
56
Реакции
16
тут префиксы
не верные
вот переделал на свой префикс :
PHP:
<?PHP

class competition{

    var $db = NULL;
    var $compd = array();
    
    
    # Конструктор
    function __construct($db){
    
        $this->db = $db;
        $this->compd = $this->CompData();
        
    }
    
    # Данные конкурса
    function CompData(){
    
        $this->db->Query("SELECT * FROM tabled_competition WHERE status = '0' LIMIT 1");   
        if($this->db->NumRows() > 0){
            
            return $this->db->FetchArray();

                
        }else return false;
    }
    
    # Обновляем очки пользователя
    function UpdatePoints($user_id, $sum){
    
        $user_id = intval($user_id);
        $sum = round($sum, 2);
        
        if($this->compd["date_add"] >= 0 AND $this->compd["date_end"] > time()){
        
            $this->db->Query("SELECT referer, referer_id, date_reg FROM tabled_users_a WHERE id = '{$user_id}'");
            $ret_d = $this->db->FetchArray();
            
            if($ret_d["date_reg"] >= $this->compd["date_add"]){
            
                # Проверяем есть ли пользователь в конкурсе
                $ref_id = $ret_d["referer_id"];
                $ref = $ret_d["referer"];
                $this->db->Query("SELECT COUNT(*) FROM tabled_competition_users WHERE user_id = '{$ref_id}'");
                if($this->db->FetchRow() == 1){
                
                    $this->db->Query("UPDATE tabled_competition_users SET points = points + '{$sum}' WHERE user_id = '{$ref_id}'");
                
                }else $this->db->Query("INSERT INTO tabled_competition_users (user, user_id, points) VALUES ('{$ref}','{$ref_id}','$sum')");
                
                return true;
                
            }else return false;
            
        }else return false;
        
    }
    
}



?>
 
անդեմ
Местный
Сообщения
56
Реакции
16
изменил пополнил еще раз ничего не поменялось все по прежнему пусто внутри таблицы ..
 
pligin
Участник
Сообщения
3.654
Реакции
1.337
անդեմ написал(а):
тут префиксы
не верные
вот переделал на свой префикс :
PHP:
<?PHP

class competition{

    var $db = NULL;
    var $compd = array();
   
   
    # Конструктор
    function __construct($db){
   
        $this->db = $db;
        $this->compd = $this->CompData();
       
    }
   
    # Данные конкурса
    function CompData(){
   
        $this->db->Query("SELECT * FROM tabled_competition WHERE status = '0' LIMIT 1");  
        if($this->db->NumRows() > 0){
           
            return $this->db->FetchArray();

               
        }else return false;
    }
   
    # Обновляем очки пользователя
    function UpdatePoints($user_id, $sum){
   
        $user_id = intval($user_id);
        $sum = round($sum, 2);
       
        if($this->compd["date_add"] >= 0 AND $this->compd["date_end"] > time()){
       
            $this->db->Query("SELECT referer, referer_id, date_reg FROM tabled_users_a WHERE id = '{$user_id}'");
            $ret_d = $this->db->FetchArray();
           
            if($ret_d["date_reg"] >= $this->compd["date_add"]){
           
                # Проверяем есть ли пользователь в конкурсе
                $ref_id = $ret_d["referer_id"];
                $ref = $ret_d["referer"];
                $this->db->Query("SELECT COUNT(*) FROM tabled_competition_users WHERE user_id = '{$ref_id}'");
                if($this->db->FetchRow() == 1){
               
                    $this->db->Query("UPDATE tabled_competition_users SET points = points + '{$sum}' WHERE user_id = '{$ref_id}'");
               
                }else $this->db->Query("INSERT INTO tabled_competition_users (user, user_id, points) VALUES ('{$ref}','{$ref_id}','$sum')");
               
                return true;
               
            }else return false;
           
        }else return false;
       
    }
   
}



?>
так а что логи ошибок сервера говорят?
как ты функцию конкурса вызываешь? какие туда данные передаешь?
 
անդեմ
Местный
Сообщения
56
Реакции
16
  • #10
pligin написал(а):
у тебя таблицы с этим префиксом?
я же прислал второй код еще раз только уже измененный я изменил префексы на мои : tabled_
 
pligin
Участник
Сообщения
3.654
Реакции
1.337
  • #11
անդեմ написал(а):
я же прислал второй код еще раз только уже измененный я изменил префексы на мои : tabled_
читай выше
 
pligin
Участник
Сообщения
3.654
Реакции
1.337
  • #13
անդեմ написал(а):
ничего не пишет включил лог ошибок нету ошибок...
я заметил, что из всего сообщения ты, обычно, читаешь либо первую строку либо последнюю... но именно одну...
прочти еще раз мое сообщение и ответь на все вопросы
 
անդեմ
Местный
Сообщения
56
Реакции
16
  • #14
как ты функцию конкурса вызываешь? какие туда данные передаешь? не понял что значит как ? Функция вызывается через payeer_merchant по моему..
 
pligin
Участник
Сообщения
3.654
Реакции
1.337
  • #15
անդեմ написал(а):
как ты функцию конкурса вызываешь? какие туда данные передаешь? не понял что значит как ? Функция вызывается через payeer_merchant по моему..
)))
а как?
 
անդեմ
Местный
Сообщения
56
Реакции
16
  • #16
# Конкурс
$competition = new competition($db);
$competition->UpdatePoints($user_id, $ik_payment_amount);
#--------
 
SERGEY1
Местный
Сообщения
33
Реакции
0
  • #17
народ помогите такая же проблемма не засчитываются пополнения к пригласителю в конкурсе
 
pligin
Участник
Сообщения
3.654
Реакции
1.337
  • #18
SERGEY написал(а):
народ помогите такая же проблемма не засчитываются пополнения к пригласителю в конкурсе
Не нужно задавать свои вопросы в чужих темах.
Создайте свою тему с вопросом либо спросите в теме Помогу по Фруктовой Ферме
Если вопрос относится к камому-нибудь файлу из ресурсов, то задавайте вопрос в теме обсуждения этого ресурса
 
Последнее редактирование модератором:
Сверху