2012-04-26 3 views
2

내가하려는 것은 GPT 사이트를위한 컨테스트 스크립트를 만드는 것입니다. 그리고 데이터베이스에 정의 된 다른 금액을 수상자에게 수여 할 수 있기를 원합니다. 예를 들어, 첫 번째 장소는 이 데이터베이스에 저장되는 식입니다. 그래서 내가 할 때 그것을 만들려고 노력하고있다 mysql_query("UPDATE members SET points=points+'$reward' WHERE username='$username'") 그러나 나는 각각의 우승하는 사용자마다 다른 $reward가 필요하다. 이 특정 스크립트는 사용자에게 보상 일 경우> = 코드에서 대회의 종료일은 (그것이 말하는을 제공 실행하면장소에 따라 다른 금액을 보너스로받습니다. (PHP)

설명은
< = 때문에 그렇지 않으면 나는 않을 것 그것을 테스트 할 수 있습니다)하지만 기본적으로 보상을 제공 할 때 나는 그렇게하기 위해 1 개의 쿼리를 사용할 수 있기를 원하지만 그 쿼리가 올바른 사용자에게 적절한 보상을 제공하기를 원합니다. 예를 들어 대부분의 오퍼를 완료 한 사용자는 컨테스트 테이블에서 말하는 reward_1에 1000이라고 말하고 두 번째 사용자는 500과 같은 reward_2 행에 대한 보상이 표시되도록합니다. 지금 설정하는 방법 그것은 각각에 다른 금액 대신 모든 사용자에게 동일한 보상 금액을 제공합니다. 도움이 되었길 바래요! 여기

내가

UPDATE
I가 함께 일하고 무엇 (나는 어디서부터 시작 아무 생각이 없기 때문에이 작업을 수행하려고 시도 내가 어떤 기능을 추가하지 않은 점에 유의하시기 바랍니다)이 코드입니다 모든 차단 된 라인과 보상 금액은 dbtable 컨테스트에서 나옵니다.

나는 내가 얻고 자하는 것에 대한 설명을 충분히 주 었는지 확신 할 수 없다. 나는 무엇이든지 명확히해야 할 필요가있다면 모든 도움을 주실 것을 당부드립니다.

좋아요. 배열을 사용하려고 조금만 노력해 왔습니다. 내가 필요로하는 방식으로 작업 할 가능성이있는 것처럼이 슬픔을 변명 해주세요! 이 새로운 코드 :

<? 
include_once"config.php"; 
date_default_timezone_set('UTC'); 

$query= "SELECT * FROM raffle WHERE amount>='1' ORDER BY Rand() LIMIT 2"; 
$result = mysql_query($query); 
$raff=mysql_query("SELECT SUM(amount) FROM raffle"); 
$raffle=mysql_fetch_row($raff); 
$amount= $raffle[0]/2; 
$dates= mysql_query("SELECT * FROM contest"); 
$stats= mysql_query("SELECT * FROM stats WHERE type='today'"); 
$statu= mysql_fetch_array($stats); 

// while ($row = mysql_fetch_array($result)){ 
// $uid = $row["id"]; 
// $username = $row["user_id"]; 
// echo "User ID = $uid 
    // <br />User Name = $username 
    // <hr />"; 
// $winners= mysql_query("UPDATE members SET points=points+'".$amount."' WHERE username='".$username."'"); 
// $statusu1= mysql_query("UPDATE stats SET new='".$statu['new']."' WHERE type='yesterday'"); 
// $statusu2= mysql_query("UPDATE stats SET cashouts='".$statu['cashouts']."' WHERE type='yesterday'"); 
// $statusu3= mysql_query("UPDATE stats SET complete='".$statu['complete']."' WHERE type='yesterday'"); 
// $announce= mysql_query("INSERT INTO comment (text, home, date, text1) 
// VALUES ('Rewards Cube System','',NOW(),'".$username." just won ".$amount." points in the daily raffle, Congrats!')"); 
// } 
// $clear= mysql_query("UPDATE raffle SET amount='0'"); 
// $clear1= mysql_query("UPDATE stats SET new='0' WHERE type='today'"); 
// $clear2= mysql_query("UPDATE stats SET cashouts='0' WHERE type='today'"); 
// $clear3= mysql_query("UPDATE stats SET complete='0' WHERE type='today'"); 
// print" DONE"; 



while ($dat = mysql_fetch_array($dates)) { 
$places= mysql_query("SELECT * FROM members ORDER BY entries_".$dat['type']." DESC LIMIT ".$dat['rewards'].""); 
if ($dat['rewards'] == 1){ 
$reward = array ('1' => $dat['reward_1']); 
} 
else if ($dat['rewards'] == 2){ 
$reward = array ('1' => $dat['reward_1'], '2' => $dat['reward_2']); 
} 
else if ($dat['rewards'] == 3){ 
$reward = array ('1' => $dat['reward_1'], '2' => $dat['reward_2'], '3' => $dat['reward_3']); 
} 
else if ($dat['rewards'] == 4){ 
$reward = array ('1' => $dat['reward_1'], '2' => $dat['reward_2'], '3' => $dat['reward_3'], '4' => $dat['reward_4']); 
} 
else if ($dat['rewards'] == 5){ 
$reward = array ('1' => $dat['reward_1'], '2' => $dat['reward_2'], '3' => $dat['reward_3'], '4' => $dat['reward_4'], '5' => $dat['reward_5']); 
} 
else if ($dat['rewards'] == 6){ 
$reward = array ('1' => $dat['reward_1'], '2' => $dat['reward_2'], '3' => $dat['reward_3'], '4' => $dat['reward_4'], '5' => $dat['reward_5'], '6' => $dat['reward_6']); 
} 
else if ($dat['rewards'] == 7){ 
$reward = array ('1' => $dat['reward_1'], '2' => $dat['reward_2'], '3' => $dat['reward_3'], '4' => $dat['reward_4'], '5' => $dat['reward_5'], '6' => $dat['reward_6'], '7' => $dat['reward_7']); 
} 
else if ($dat['rewards'] == 8){ 
$reward = array ('1' => $dat['reward_1'], '2' => $dat['reward_2'], '3' => $dat['reward_3'], '4' => $dat['reward_4'], '5' => $dat['reward_5'], '6' => $dat['reward_6'], '7' => $dat['reward_7'], '8' => $dat['reward_8']); 
} 
else if ($dat['rewards'] == 9){ 
$reward = array ('1' => $dat['reward_1'], '2' => $dat['reward_2'], '3' => $dat['reward_3'], '4' => $dat['reward_4'], '5' => $dat['reward_5'], '6' => $dat['reward_6'], '7' => $dat['reward_7'], '8' => $dat['reward_8'], '9' => $dat['reward_9']); 
} 
else if ($dat['rewards'] == 10){ 
$reward = array ('1' => $dat['reward_1'], '2' => $dat['reward_2'], '3' => $dat['reward_3'], '4' => $dat['reward_4'], '5' => $dat['reward_5'], '6' => $dat['reward_6'], '7' => $dat['reward_7'], '8' => $dat['reward_8'], '9' => $dat['reward_9'], '10' => $dat['reward_10']); 
} 
while ($place = mysql_fetch_array($places)) { 
if(time() <= strtotime($dat['date_2'])) { 
foreach($reward as $rew) 
print" {$dat['name']} {$place['username']} {$rew} <br>"; 
} 
else { 
print" no contests ready for rewards given"; 
} 
} 
} 
?> 

그것은 종류의 나에게 내가 원하는 결과를 제공하지만, 그것은 나를 제공하므로 각 그것을 복제 : 각 수상자의 3 개 보상을 반복한다

Monthly Offer Contest Faiz66 2500 
Monthly Offer Contest Faiz66 1000 
Monthly Offer Contest Faiz66 500 
Monthly Offer Contest taras 2500 
Monthly Offer Contest taras 1000 
Monthly Offer Contest taras 500 
Monthly Offer Contest admin 2500 
Monthly Offer Contest admin 1000 
Monthly Offer Contest admin 500 
Monthly Referral Contest taras 2500 
Monthly Referral Contest taras 1000 
Monthly Referral Contest taras 500 
Monthly Referral Contest kira423 2500 
Monthly Referral Contest kira423 1000 
Monthly Referral Contest kira423 500 
Monthly Referral Contest Faiz66 2500 
Monthly Referral Contest Faiz66 1000 
Monthly Referral Contest Faiz66 500 

하지만이 같은보고를해야합니다

Monthly Offer Contest Faiz66 2500 
Monthly Offer Contest taras 1000 
Monthly Offer Contest admin 500 
Monthly Referral Contest taras 2500 
Monthly Referral Contest kira423 1000 
Monthly Referral Contest Faiz66 500 

어쩌면 배열이에 가장 적합한 수정 아니지만,이 경우, 나는 그것을 테이블처럼 보이게 위보다는하는 방법을 알아야 할 것 같아요 첫 번째로주는 것은 m 전자 지금.

+0

나는 사전에 사과하겠습니다. 저는 PHP에 익숙하지 않습니다. 코딩은 좀 이상합니다! – kira423

+0

_ 그래서 나는 mysql_query ("UPDATE 멤버 SET 포인트 = 포인트 + '$ 보상'WHERE username = '$ username'"을 업데이트 할 때 그것을 만들려고 노력하고있다.) 그러나 나는 각 수상한 사용자마다 $ 보상이 필요하다. _ ... 질문의이 부분을 편집하여 명확하게 할 수 있습니까? –

+0

@JustinPearce 나는이 게시물을 업데이트했다. 나는 그것을 더 이해하기 쉽게 바랐다. – kira423

답변

0

이 코드를 사용하여 휴식을 취한 다음 몇 가지 다른 방법을 읽고 나면 실현 가능한 솔루션을 찾았습니다.

최상의 것은 아니지만 작동합니다. 나는 누구든지 가질 수있는 다른 솔루션에 대해 열려 있습니다!

<? 
include_once"config.php"; 
include_once"test/includes.php"; 
date_default_timezone_set('America/New_York'); 

$dates=mysql_query("SELECT * FROM contest"); 
$timestamp = time(); 

while ($dat = mysql_fetch_array($dates)) { 
$places="(SELECT * FROM `".$dat['name']."` ORDER BY `completed` DESC LIMIT ".$dat['rewards'].")"; 
$results=mysql_query($places); 

if ($dat['rewards'] == 1){ 
$reward = "".$dat['reward_1'].""; 
} 
else if ($dat['rewards'] == 2){ 
$reward = "".$dat['reward_1'].",".$dat['reward_2'].""; 
} 
else if ($dat['rewards'] == 3){ 
$reward = "".$dat['reward_1'].",".$dat['reward_2'].",".$dat['reward_3'].""; 
} 
else if ($dat['rewards'] == 4){ 
$reward = "".$dat['reward_1'].",".$dat['reward_2'].",".$dat['reward_3'].",".$dat['reward_4'].""; 
} 
else if ($dat['rewards'] == 5){ 
$reward = "".$dat['reward_1'].",".$dat['reward_2'].",".$dat['reward_3'].",".$dat['reward_4'].",".$dat['reward_5'].""; 
} 
else if ($dat['rewards'] == 6){ 
$reward = "".$dat['reward_1'].",".$dat['reward_2'].",".$dat['reward_3'].",".$dat['reward_4'].",".$dat['reward_5'].",".$dat['reward_6'].""; 
} 
else if ($dat['rewards'] == 7){ 
$reward = "".$dat['reward_1'].",".$dat['reward_2'].",".$dat['reward_3'].",".$dat['reward_4'].",".$dat['reward_5'].",".$dat['reward_6'].",".$dat['reward_7'].""; 
} 
else if ($dat['rewards'] == 8){ 
$reward = "".$dat['reward_1'].",".$dat['reward_2'].",".$dat['reward_3'].",".$dat['reward_4'].",".$dat['reward_5'].",".$dat['reward_6'].",".$dat['reward_7'].",".$dat['reward_8'].""; 
} 
else if ($dat['rewards'] == 9){ 
$reward = "".$dat['reward_1'].",".$dat['reward_2'].",".$dat['reward_3'].",".$dat['reward_4'].",".$dat['reward_5'].",".$dat['reward_6'].",".$dat['reward_7'].",".$dat['reward_8'].",".$dat['reward_9'].""; 
} 
else if ($dat['rewards'] == 10){ 
$reward = "".$dat['reward_1'].",".$dat['reward_2'].",".$dat['reward_3'].",".$dat['reward_4'].",".$dat['reward_5'].",".$dat['reward_6'].",".$dat['reward_7'].",".$dat['reward_8'].",".$dat['reward_9'].",".$dat['reward_10'].""; 
} 

$rewardsa = explode(",", $reward); 
$i=0; 

// Offers Contest 

if(time() <= $dat['date_2'] && $dat['type'] == offer) { 
while ($place = mysql_fetch_array($results)) { 
print" {$dat['name']} {$place['username']} {$rewardsa[$i]}<br>"; 
if($dat['r_type'] == points){ 
$winners= mysql_query("UPDATE members SET points=points+'".$rewardsa[$i]."' WHERE username='".$place['username']."'") or die(mysql_error()); 
$shout=mysql_query("INSERT INTO shout (id, username, datetime, shout) VALUES ('','".$shoutname."','".$timestamp."','".$place['username']." has just won ".$rewardsa[$i]." points in the ".$dat['name']."')") or die(mysql_error()); 
} 
if($dat['r_type'] == cash){ 
$winners= mysql_query("UPDATE members SET cash=cash+'".$rewardsa[$i]."' WHERE username='".$place['username']."'") or die(mysql_error()); 
$shout=mysql_query("INSERT INTO shout (id, username, datetime, shout) VALUES ('','".$shoutname."','".$timestamp."','".$place['username']." has just won $".$rewardsa[$i]." in the ".$dat['name']."')") or die(mysql_error()); 
} 
$i++; 
if($winners && $shout){ 
$delete=mysql_query("DROP TABLE `".$dat['name']."`"); 
} 
} 
} 

// Referral Contest 

if(time() <= $dat['date_2'] && $dat['type'] == referral) { 
while ($place = mysql_fetch_array($results)) { 
print" {$dat['name']} {$place['username']} {$rewardsa[$i]}<br>"; 
if($dat['r_type'] == points){ 
$winners= mysql_query("UPDATE members SET points=points+'".$rewardsa[$i]."' WHERE username='".$place['username']."'") or die(mysql_error()); 
$shout=mysql_query("INSERT INTO shout (id, username, datetime, shout) VALUES ('','".$shoutname."','".$timestamp."','".$place['username']." has just won ".$rewardsa[$i]." points in the ".$dat['name']."')") or die(mysql_error()); 
} 
if($dat['r_type'] == cash){ 
$winners= mysql_query("UPDATE members SET cash=cash+'".$rewardsa[$i]."' WHERE username='".$place['username']."'") or die(mysql_error()); 
$shout=mysql_query("INSERT INTO shout (id, username, datetime, shout) VALUES ('','".$shoutname."','".$timestamp."','".$place['username']." has just won $".$rewardsa[$i]." in the ".$dat['name']."')") or die(mysql_error()); 
} 
$i++; 
if($winners && $shout){ 
$delete=mysql_query("DROP TABLE `".$dat['name']."`"); 
} 
} 
} 

} 
?> 
+0

나는 이런 종류의 일에 대해'switch' 문을 조사하는 것이 좋습니다 ... 매우 도움이되고,'if' 문장이 적습니다 ... – 1789040

관련 문제