2012-09-04 3 views
0

내 목표는 SELECT * FROM athlete와 같은 전체 테이블을 표시하고 테이블 출력의 각 행에 버튼을 포함시키는 것입니다.이 버튼을 누르면 해당 행이 데이터베이스에서 제거됩니다. MYSQL 테이블 출력에서 ​​행을 삭제하는 PHP 버튼

//if(isset($_POST['delete_id']) && (!empty($_POST['delete_id']))) 
if(isset($_POST['Delete'])){ 

$delete_id = mysql_real_escape_string($_POST['delete_id']); 
echo("deletebutton" . $delete_id); 
//mysql_query("DELETE FROM KeepScores WHERE `id`=".$delete_id); 
//header('Location: main.php'); 
} 

else 
{ 
$query = 'SELECT * FROM athlete'; 
$result = mysql_query($query); 


$self = $_SERVER['PHP_SELF']; 
$self = htmlentities($_SERVER['PHP_SELF']); // strip tags to improve security 

echo("<table> 
<tr> 
<td> id </td> 
<td>last name</td> 
<td>first name</td> 
<td>delete data</td> 
</tr>"); 

while($row = mysql_fetch_array($result)) 
{ 
$id = $row['id']; 

echo("<tr>"); 
     echo("<td>" . $row['id'] . "</td>"); 
     echo("<td>" . $row['lastName'] . "</td>"); 
     echo("<td>" . $row['firstName'] . "</td>"); 
     echo("<td> <form action='$self' method='post'> 
       <input type='hidden' name='delete_id value='$id' /> 
       <input type='submit' value='Delete' /> 
      </form> 
     </td> 
    </tr>"); 
} 
mysql_free_result($result); 
echo("</table>"); 

} 

그러나이 작동하지 않습니다 내가 다른 게시물을 따라 아래 그림과 한

내가 지금까지 가지고 있지만 작동하지 않는 것입니다. 누구든지 이유를 알고 있습니까? 참고 : 로그인 자격 증명을 저장하지 않았지만 파일의 다른 위치에 데이터베이스에 연결하고 있습니다.

+0

'name = 'delete_id'는 잘 인용되어 있지 않습니다. – codingbiz

+0

"작동하지 않음"이란 무엇을 의미합니까? 오류 메시지가 나타 납니까? 빈 화면을 표시 하시겠습니까? 정보를 출력 하시겠습니까? 버튼을 클릭해도 삭제되지 않습니까? 잘못된 레코드를 삭제 하시겠습니까? – andrewsi

답변

1

가장 가능성있는 원인은 제출 버튼을 지정하지 않은 $ _POST [ 'Delete']에 '삭제'속성 'name'을 지정했기 때문일 수 있습니다. 그러나 위에 주석 처리 한 행은 작동해야합니까?

0

나는 당신이이 지역을 조사해야한다고 생각

//if(isset($_POST['delete_id']) && (!empty($_POST['delete_id']))) 

경우 (는 isset ($ _ POST [ '이 삭제'])) {

<input type='submit' value='Delete' /> 

당신은 포함해야한다 : <input type='submit' name="Delete" value='Delete' />

이렇게하면 문제가 해결됩니다.

관련 문제