Я создал следующую функцию, чтобы получить весь свой выбор и отправить выбранные идентификаторы в другой файл php (process.php) для обработки.
Вот моя функция:
function getSelections(){
var ss = [];
var rows = $('#dga').datagrid('getSelections');
if (rows){
$.messager.confirm('Confirm','Are you sure you want to delete this user?',function(r){
if (r){
for(var i=0; i<rows.length; i++){
var row = rows[i];
ss.push(row.id);
}
/*$.messager.alert('Info', ss.join('<br/>')); for testing*/
$.post('process.php', ss.join({id:row.id}),function(result){
if (result.success){
$('#dga').datagrid('reload'); // reload the user data
} else {
$.messager.show({ // show error message
title: 'Error',
msg: result.msg
});
}
},'json');
}
});
}
}
Я хочу получить данные этого метода в process.php
:
$id = intval($_REQUEST['id']);
include 'conn.php';
$N = count($id);
for($i=0; $i < $N; $i++){
$sql = "delete from user where id=$id[$i]";
$result = @mysql_query($sql);
if ($result){
echo json_encode(array('success'=>true));
} else {
echo json_encode(array('msg'=>'There is error.'));
}
}
Я не мог удалить несколько строк. Я мог удалить только одного пользователя за раз. Пожалуйста, помогите мне.
Чего я хочу добиться:
Я хочу удалить все свои выборы (все пользователи, выбранные с помощью флажка) за один раз и перезагрузить сетку? Ответ ниже работает с одной записью, но не работает с несколькими записями. Любая помощь и предложение с благодарностью. Это часть моего проекта.
Пытаться
function getSelections() {
var rows = $('#dga').datagrid('getSelections');
if (rows) {
$.messager.confirm('Confirm', 'Are you sure you want to delete this user?', function (r) {
if (r) {
var ss = $.map(rows, function (item, idx) {
return item.id;
});
/*$.messager.alert('Info', ss.join('<br/>')); for testing*/
$.post('process.php', {
'id[]': ss
}, function (result) {
aler(result.success)
if (result.success) {
$('#dga').datagrid('reload'); // reload the user data
} else {
$.messager.show({ // show error message
title: 'Error',
msg: result.msg
});
}
}, 'json').fail(function (jxhr, status, error) {
alert('error: ' + status + ':' + error)
});
}
});
}
}
затем
$id = $_POST['id'];
include 'conn.php';
$N = count($id);
for($i=0; $i < $N; $i++){
$sql = "delete from user where id=$id[$i]";
$result = @mysql_query($sql);
if ($result){
echo json_encode(array('success'=>true));
} else {
echo json_encode(array('msg'=>'There is error.'));
}
}
Вы можете удалить несколько строк, используя оператор как
DELETE FROM user WHERE id IN (1,2,3,4)
Нажмите Вот для полного объяснения. Позвольте мне знать, если это помогает!