2011-08-01 7 views
0

私はスポーツピックのウェブサイトを作ったので、彼らが作った特定のピックに基づいてすべてのユーザーのスコアを更新する方法を理解できません。一度に1人のユーザーを更新し、同じスクリプトを複数回起動する必要があります。 (ログインしたときにスクリプトが実行され、再度起動しないように制限します)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'"); 
} 
} 
} 


?> 

理由だけではなく、 `WHERE`句を削除していない機能

<?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

を含むファイルをインクルード? –

+1

各ユーザーが特定のピックを行う場合、WHERE句を削除しないと、各ユーザーが作成した特定のピックを考慮せずにすべてのスコアを更新しますか? (私は意味があることを望みます。少し説明するのは難しいです) – user830593

+0

'pick1 = 11'と' pick2 = 22'ならどうなりますか?あるいは 'pick1 = 11'でも' pick2 = 12'ですか? 2つ以上の正しい(真の)選択肢、または2つ以上の間違った(偽の)選択肢、または1つの真と1つの誤選択で何が起こるべきかを意味します。 –

答えて

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 
関連する問題