2014-06-10 3 views
-2

У меня есть форма, которая обновляет счет между двумя командами. , и я хочу обновить счет для людей, которые достигли точного результата. Я хочу проверить, действительно ли кто-то сделал, а затем добавить очки. если я сделать это за 1 человека его работы, но я хочу, чтобы проверить и добавить нескольких пользователейUPDATE mysql для нескольких пользователей

я попытался исправить это, но я не могу найти какой-либо ответ ..

if(isset($_POST['submit'])){ 
    $result = mysql_query("UPDATE `match` SET 
     `match`.`home_goal` = '".$_POST['home_goal']."', 
     `match`.`away_goal` = '".$_POST['away_goal']."' 
     WHERE `match`.`id` = '".$_POST['gameid']."'"); 

    $result2 = mysql_query(
       "SELECT * FROM `match_guess` WHERE 
       `match_guess`.`match_id` = '".$_POST['gameid']."'"); 
    while($row2 = mysql_fetch_array($result2)){ 
     if($_POST['home_goal'] == $row2['home_goals'] && 
      $_POST['away_goal'] == $row2['away_goals']) { 

      $result3 = mysql_query("UPDATE `members` SET 
      `members`.`acc` = `members`.`acc` + 1, 
      `members`.`points` = `members`.`points` + 5 
      WHERE `members`.`id` = '".$row2['user_id']."'"); 
     } 
    } 
} 
+0

Try, чтобы проверить, если вы 'if' оператор возвращает значение TRUE, и если ваш' UPDATE' запрос работает. –

ответ

0

Вы не задействуются $ result3 в цикле while, поэтому он перезаписывается. $ Result3 (или, вернее, $ SQL3) должны быть определены вне цикла и добавляется внутри цикла и выполняется после цикла

$sql3 = "UPDATE `members` 
    SET `members`.`acc` = `members`.`acc` + 1, 
     `members`.`points` = `members`.`points` + 5 
    WHERE `members`.`id` = '0'"; 

while(...) { 
    if(...){ 
     $sql3 .= " OR `members`.`id` = '".$row2['user_id']."'"; 
    } 
} 

$result3 = mysql_query($sql3); 
Смежные вопросы