2012-05-10 2 views
1

PHP와 MySQL로 테이블을 업데이트하고 싶습니다. mysql db에 이미있는 값에서 선택하는 숫자를 더하거나 뺄 필요가 있습니다. "player_qty"에 추가 할 때 작동하지만, 빼거나 삭제할 때는 작동하지 않습니다. 그것은 내가 원하는 메시지를 제공한다. 많은 것이 삭제되었지만 데이터베이스를 점검 할 때, 값은 동일하다. 삭제가 아니다. 당신 빼기 쿼리에서mysql을 PHP로 업데이트하는 방법

$register_query = "SELECT * FROM players WHERE player_id='$add_player_id' AND event_name = '$event_name'"; 
$register_check = mysql_query($register_query, $db); 
$register_found_users = mysql_num_rows($register_check); 

if($_POST['button'] == "Add") { 
    if($register_found_users>0){ 
    mysql_query("UPDATE players 
    SET 
    player_qty = player_qty + $add_player_qty, 
    player_pickedup = '1', 
    event_user = '$event_user' 
    WHERE player_id = '$add_player_id'"); 
    $msg = $add_player_qty.' more ticket(s) added to '.$add_player_id.'.'; 
    } else { 
    $insertSQL1 = " 
    INSERT INTO players 
    (player_id, player_qty, player_adt, player_level, player_pickedup, event_name, event_type, event_end, event_user) 
    VALUES 
    ('$add_player_id', '$add_player_qty', NULL, NULL, '1', '$event_name', '$event_type', '$event_end', '$event_user')"; 
    mysql_select_db($dbname, $db); 
    $Result1 = mysql_query($insertSQL1, $db) or die(mysql_error()); 
    $msg = $add_player_id.' added to DB w/ '.$add_player_qty.' ticket(s)'; 
    } 
}elseif($_POST['button'] == "Delete") { 
    if($register_found_users>0){ 
    mysql_query("UPDATE players 
    SET 
    player_qty = player_qty - $add_player_qty, 
    player_pickedup = '1', 
    event_user = $event_user 
    WHERE player_id = '$add_player_id'"); 
    $msg = $add_player_qty.' ticket(s) deleted from '.$add_player_id.'.'; 
    } else { 
    $msg = $add_player_id.' not in database. Please add manually.'; 
    } 
} else { 
    // 
} 
     <!-- FORM TO ADD PLAYER TO DATABASE IF DOESN'T EXIST --> 
     <form action="" method="post" enctype="multipart/form-data" name="form_add_player" id="form_add_player" style="display:<?php echo $css;?>;"> 

      <label for="add_player_id">PLAYER #: </label> 
      <input type="text" name="add_player_id" id="add_player_id" value=""/> 

      <label for="add_player_qty">QUANTITY: </label> 
      <select name="add_player_qty" id="add_player_qty"> 
      <option value="1">1</option> 
      <option value="2" selected>2</option> 
      <option value="3">3</option> 
      <option value="4">4</option> 
      <option value="5">5</option> 
      <option value="6">6</option> 
      <option value="7">7</option> 
      <option value="8">8</option> 
      <option value="9">9</option> 
      <option value="10">10</option> 
      </select> 

      <input name="event_end" type="hidden" id="event_end" value="<?php echo $row_get_type['event_end'];?>" /> 
      <input type="submit" name="button" value="Add" class="button"> 
      <input type="submit" name="button" value="Delete" class="button">   

     </form> 
+1

변수 ("UPDATE ...")'는 mysql_query'의 결과를 할당하고 그 결과를 확인 오류가 무엇인지 알 수 있습니다. –

답변

1

당신은 당신의 항목 값 중 하나에 '를 설정하지 않습니다 - 아마도 이것이 MySQL의 오류의 원인이되므로 쿼리가 실행되지 않습니다. 당신에게, 에러가 발생하면 -

mysql_query("UPDATE `players` 
SET 
`player_qty` = `player_qty` - $add_player_qty, 
`player_pickedup` = '1', 
`event_user` = '$event_user' 
WHERE `player_id` = '$add_player_id'"); 
+0

그게 다야 !! 그 친구를 붙잡아 주셔서 고맙습니다 - 건배 !! – Azukah

0

하는 모든 쿼리에 '$의 add_player_qty'에 의해 $의 add_player_qty를 교체하는 것은

관련 문제