2017-01-19 1 views
-3

쿼리 결과를 표시하는 PHP 페이지가 있습니다. 해당 결과 페이지에서 특정 열을 변경할 수있는 권한이 필요합니다.PHP 제출 버튼을 사용하여 PDO 쿼리 결과에서 mysql 레코드 수정

echo "<table> 
    <tr> 
    <th>First</th> 
    <th>Last</th> 
    <th>Time</th> 
    <th>Reason</th> 
    <th>Status</th> 
    <th>Update</th> 
    </tr>"; 

// displaying data from database mysql using foreach loop 

foreach ($pdoResult as $row) 
{ 
    echo"<tr> 
    <td><p>$row[1]</p></td> 
    <td><p>$row[2]</p></td> 
    <td><p>$row[4]</p></td> 
    <td><p>$row[5]</p></td> 
    <td> 
     <form action='update.php' method = 'post'> 
     <select name='$row[0]'> 
      <option name= 'status' value='$row[6]'>$row[6]</option> 
      <option name= 'status' value='seen Benson'>seen Benson</option> 
      <option name= 'status' value='seen cooper'>seen Cooper</option> 
      <option name= 'status' value='seen Sheen'>seen Sheen</option> 
      <option name= 'status' value='seen Wilks'>seen Wilks</option> 
      <option name= 'status' value='not seen'>not seen</option> 
     </select> 
    </td> 
    <td> 
     <input type='submit' name='$row[0]' value='update'> 
     </form> 
    </td> 
    </tr>"; 
} 
echo "</table>"; 

업데이트 제출 버튼이 작동하지 않습니다.

특정 쿼리 결과에 대한 고유 ID를 인식 한 후 "상태"를 변경하고 mysql 데이터베이스에서 업데이트하기 위해 제출 단추를 코딩하는 방법은 무엇입니까?

+3

"업데이트 제출 버튼이 작동하지 않음"이란 무엇을 의미합니까? 그리고 왜 ''을 같은 이름으로 붙이십니까? – Santi

+0

업데이트 코드를 전혀 표시하지 않으므로 잘못 된 위치를 알기 어렵습니다. – aynber

+0

또한 '

'은 (는) ''의 하위가 될 수 없으므로 수정해야합니다. –

답변

0

check this 고유 한 ID를 사용하여 텍스트 또는 입력 필드의 특정 행을 표시하고 데이터베이스에서이를 업데이트하려고한다고 생각합니다. 여기에서 나는 단지 당신에게 정상적인 id 예제를 주었다. 당신은 당신이 유니에 ID를 수정하는 것보다 결과를 보여을 업데이트하는 고유 ID를 추가 할 경우 : "... UID는 ="내가 쓴 후 다음

class user{ 
public uid=''; 
public function __construct($data=''){ 
if(array_key_exist('uid',$data)){ 
this->uid=$data['uid']; 
} 
} 

public function update(){ 

    try { 
     $pdo = new PDO('mysql:host=localhost;dbname=db', 'root', ''); 
     $query = "UPDATE `users` SET user_name = :u_name WHERE uid="."'".$this->uid."'"; 

     $stmt = $pdo->prepare($query); 
     $stmt->execute(array(

      ':u_name' => $this->user_name 

     )); 

    } catch(PDOException $e) { 
     echo 'Error: ' . $e->getMessage(); 
    } 
} 

$query = "UPDATE `users` SET user_name = :name WHERE uid="."'".$this->uid."'"; 

내가 varchar에서 uid의 유형을 설정했기 때문에 이것을 (" '. $ this-> uid."') 이와 같이 유지합니다. 그래서 당신이 당신의 대답을 얻고 이것을 시도하고 피드백을 주길 바랍니다. 고맙습니다.