2013-07-03 2 views
0

ajax/jquery를 사용하여 mysql 데이터베이스에서 레코드를 삭제하는 데 문제가 있습니다. 문제는 데이터베이스에서 삭제하지 않지만 목록에서 삭제한다는 것입니다. 여기서 내가 뭘 잘못하고 있니? 여기 id를 통해 ajax로 레코드 삭제

내 코드입니다 :

jQuery(document).ready(function(){ 
    $(".deleteitem").click(function(){ 

    var parent = $(this).closest('li'); 
    var id = parent.attr('id'); 

    $.ajax({ 
     type: "POST", 
     data: "id=" +id, 
     URL: "delete.php", 
     success: function(msg){ 
     $('#'+id).remove(); 
     } 
    }); 
    }); 
}); 

내 PHP 파일 delete.php :

$con=mysqli_connect("localhost","user","pass","db"); 
// Check connection 
if (mysqli_connect_errno()) 
{ echo "Failed to connect to MySQL: " . mysqli_connect_error(); } 

$id = $_POST['id']; 

if (isset($id)) { 
    $query = "DELETE FROM img_slider WHERE id = '$id'"; 
    mysqli_query($query) or die('Error, insert query failed'); 
} 

HTML 태그 : 첫째 테스트

<li id='".$row['id']."'> 
<a href='#' class='deleteitem'><img src='../img/delete.png'></a> 
</li> 
+0

데이터 형식은'data : { "id": id}' – karthikr

+0

? _all_ PHP 코드입니까? 데이터베이스에 어디에서 연결합니까? –

+0

당신은 delete.php가 무엇을하는지보아야합니다. $ _POST 대신 $ _REQUEST를 사용하고 delete.php? id = ...를 호출하면 어떤 일이 발생하는지 볼 수 있습니다. 작동하는 경우 $ _POST를 반환하고 아약스에서 귀하의 매개 변수를 디버그 – bksi

답변

2

가 삭제 파일을 호출 확인하기 유효한 ID가 작동합니다. 아래의 자바 스크립트는 정상적으로 작동합니다.

<script type="text/javascript"> 
<!-- 
$(function() { 
    $('.deleteitem').click(function(e) { 
    e.preventDefault(); 
    var id = $(this).parent('li').attr('id'); 
    $.get('delete.php',{ id: id}).done(function(data) { 
     if(data=='Error, insert query failed') { 
      // dont delete from list 
      alert('Failed to delete '+id); 
     } else { 
      //delete from list 
      $('#'+id).remove(); 
      alert('Deleted '+id); 
     } 
    }); 
    }); 
}); 
//--> 
</script> 

EDIT : 부모 ID 처리를 돕기 위해 스크립트를 업데이트했습니다.

어디에서 오류가 발생했는지 말할 수 있습니까? 대부분의 최신 브라우저는 오류가 발생한 행이나 섹션을 알려줍니다.

위의 스크립트는 모든 자바 스크립트를 대체해야합니다.

+0

위의 자바 스크립트에 오류가 발생합니다. Delete.php는 정상적으로 작동합니다. –

+0

가 basix 구문 오류를 지원하고 무슨 일이 일어나고 있는지 알릴 수 있도록 편집되었습니다. – elzaer

+0

오류는 다음과 같습니다 :'alert ('deleted +'id);'- 여기에 시간을 내 주셔서 감사합니다. –