Bootstrap Data Table을 사용하고 있으며 데이터베이스에서 여러 사용자를 삭제하려고합니다. 한 번에 한 명의 사용자를 삭제할 수 있지만 한 번 이상 하나를 삭제하려고하면 문제가 발생하여 오류를 찾을 수 없습니다.PHP에서 아약스 호출로 여러 행 삭제
function removeRow(){
var url = 'remove-user.php';
var id = document.getElementById("user-id").value;
var data = 'userID=' + id;
$.ajax({
url: url,
data: data,
cache: false,
error: function(e){
alert(e);
},
success: function() {
alert(data);
var selects = $('#users-table').bootstrapTable('getSelections');
ids = $.map(selects, function (row) {
return row.id;
});
$('#users-table').bootstrapTable('remove', {
field: 'id',
values: ids
});
}
});
}
예 : 여기
는 AJAX 코드 URL의 데이터 아이디 것이다 = 여기1,2 제거-user.php 코드 :
require("../config.php");
if(isset($_GET['userID'])) {
try{
$userID = $_GET['userID'];
$query = "DELETE FROM users WHERE user_id IN (:userID)";
$stmt = $db->prepare($query);
$stmt->bindParam(":userID", $userID, PDO::PARAM_INT);
$stmt->execute();
$user_removed = 'User was successfully deleted.';
$_SESSION['user_removed'] = $user_removed;
} catch (Exception $e){
echo 'The following error occured: <br/>'.$e->getMessage();
}
}
둘 이상의 사용자를 확인하면 첫 번째 사용자는 삭제되지만 다른 사용자에게는 삭제되지 않습니다. 내 코드에 실수가 있습니까?
여러 사용자를 삭제하려면 테이블에서 선택하고 여러 ID (예 : userID = 1,2)가 포함 된 숨겨진 입력 값을 전달하십시오. remove-user.php
페이지로 직접 가서 GET을 울리면 1,2 따옴표가 표시되지 않습니다. 매개 변수를 바인딩하는 대신 ID를 지정하도록 내 삭제를 변경하면 모든 것이 정상적으로 작동합니다. 나는 왜 그것이 작동하지 않는지 정말로 확신하지 못한다.
자세한 정보가 필요한 경우 알려주십시오.
'$ _GET [ '아이디']'무엇이 포함되어 있습니까 : 여기
내가 내
remove-user.php
코드를 변경 무엇인가? –DOM-ID로 ID를 선택합니다. 그러나 오직 하나의 ID 만있을 수 있습니다. –
@JayBlanchard 선택된 체크 박스의 모든 ID를 포함하고 다음과 같이 URL에 매개 변수로 전달합니다 - userID = 1,2 – iamthestreets