2017-12-06 2 views
1

안녕하세요, 행의 특정 값을 업데이트하려고하고 있습니다. 마지막 ID가 무엇이든 관계없이 마지막 ID 만 가져오고 마지막 행은 0으로 변경됩니다.마지막 아이디가 아닌 특정 id 값을 선택하는 방법 mysql php

아이디어가 있으십니까? 감사합니다.

<?php 
    include 'db.php'; 

    $selectquery="SELECT pid from tblpes WHERE active=1"; 
    $result = mysqli_query($conn, $selectquery) or die("Error"); 
    while ($row = mysqli_fetch_array($result)) { 
     $pid= $row['pid']; 
    } 


    $sqlupdate="UPDATE tblpes SET active=0 WHERE pid=$pid"; 

    $result1=mysqli_query($conn,$sqlupdate); 


    $conn->close(); 
?> 
+0

을, 당신 항상'$ pid' 변수를 업데이트합니다. 필요한'$ pid'를 가져 오는 일종의'if' 조건이 있습니다. – Varun

답변

2

$ pid 값이 루프에서 바뀌기 때문에 마지막 ID가 업데이트됩니다.

include 'db.php'; 
$selectquery="SELECT pid from tblpes WHERE active=1"; 
$result = mysqli_query($conn, $selectquery) or die("Error"); 
while ($row = mysqli_fetch_array($result)) { 
    $pid= $row['pid']; 
    $sqlupdate="UPDATE tblpes SET active=0 WHERE pid=$pid"; 
    $result1=mysqli_query($conn,$sqlupdate); 
} 

을하지만 난 당신이 수행 할 작업을 이해한다면, 당신은 다만 수 :

는 다음과 같이 루프에서 업데이트 쿼리를 이동

while 루프에서

$sqlupdate="UPDATE tblpes SET active=0 WHERE active=1"; 
$result1=mysqli_query($conn,$sqlupdate); 
관련 문제