2011-08-01 6 views
0

나는 sports picks 웹 사이트를 만들었고 자신이 지정한 특정 추천을 기반으로 모든 사용자 점수를 업데이트하는 방법을 알 수 없습니다. 한 번에 한 명의 사용자를 업데이트하고 동일한 스크립트를 여러 번 실행해야합니다. (로그인 할 때 스크립트가 실행되고 다시 실행되지 못하도록 제한)PHP는 조건에 따라 모든 사용자 업데이트

-이 예에서는 'robert'사용자 만 업데이트 할 수 있습니다. 기능이 포함 된 파일을 포함하는 PHP 파일이 있습니다.

도움을 받으려면 도움을 받으십시오.

PHP 파일 :

<?php 


$connect = //connect to database 

//ACCESS PERMISSION 
$sql = "SELECT * FROM access WHERE username = 'bj'"; 

$query = mysql_query($sql,$connect); 

if ($query) { 

while ($row = mysql_fetch_assoc($query)) 
    { 
     $activated = $row['sf']; 

if($activated=='1') 
{ 
//END ACCESS PERMISSION EXCEPT CLOSE 
//loop declare begin 
$quer = "SELECT * FROM sffedorvsdan WHERE username = 'robert'"; 

if($quer_run = mysql_query($quer)) 
{ 
    while($row = mysql_fetch_assoc($quer_run)) 
    { 
    $pick1 = $row['pick1']; 
    $pick2 = $row['pick2']; 
    $pick3 = $row['pick3']; 
    $pick4 = $row['pick4']; 
    $pick5 = $row['pick5']; 
    $pick6 = $row['pick6']; 

//loop end EXCEPT CLOSE 



include('update2.php'); 

//PICK 1 START 
more($pick1); 

//PICK 2 START 
more($pick2); 

//PICK 3 START 
more($pick3); 

//PICK 4 START 
more($pick4); 

//PICK 5 START 
more($pick5); 

} 
}else{ 
echo mysql_error(); 
} 




//RESTRICT ACCESS 
mysql_query("UPDATE access SET sf ='2' 
WHERE username = 'bj'"); 
} 
} 
} 


?> 

파일을 포함 기능

<?php 

function more($pick) 
{ 

global $connect, $pick1, $pick2, $pick3, $pick4, $pick5, $pick6 ; 

//connect to database 

if($pick=='11'||$pick=='22'||$pick=='13'||$pick=='14'||$pick=='25') //True Picks 
{ 
$score = mysql_query("UPDATE stats SET score = (score + 10), mmascore = (mmascore + 10), mmawins = (mmawins + 1), mmagames = (mmagames + 1), wins = (wins + 1), games = (games + 1) 
WHERE username = 'robert'"); 

return $score; 
} 
else if($pick=='21'||$pick=='12'||$pick=='23'||$pick=='24'||$pick=='15') //False Picks 
{ 
$score2 = mysql_query("UPDATE stats SET score = (score - 5), mmascore = (mmascore - 5), mmagames = (mmagames + 1), games = (games + 1) 
WHERE username = 'robert'"); 

return $score2; 
} 



} 

?> 
+0

왜 그냥'WHERE' 절을 제거 포함? –

+1

각 사용자가 특정 선택을하면 WHERE 절을 제거하지 않으면 각 사용자가 만든 특정 선택을 고려하지 않고 모든 점수를 업데이트합니까? (이해하기 바란다. 설명하기가 조금 어렵다) – user830593

+0

'pick1 = 11'과'pick2 = 22'는 어떻게 될까? 아니면'pick1 = 11'이지만'pick2 = 12'입니까? 두 개 이상의 올바른 (true) 선택 또는 2 개 이상의 잘못된 (false) 것 또는 1 개의 true 및 1 개의 false pick으로 어떤 일이 발생해야합니까? –

답변

0
UPDATE stats SET score = score + CASE 
WHEN username='robert' THEN -5 
WHEN username='RiaD' THEN 100500 
WHEN username='Shef' THEN 6514 
ELSE 0 END 
관련 문제