我创建了以下函数来获取所有选择并将选定的id发送到另一个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.'));
}
}
我无法删除多行。我一次只能删除一个用户。请帮我。 我想要实现的目标: 我想一次性删除我的所有选择(使用复选框选择的所有用户)并重新加载网格?下面的答案适用于单个记录,但不适用于多个记录。任何帮助和建议都非常感谢。这是我项目的一部分。
答案 0 :(得分:0)
尝试
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.'));
}
}
答案 1 :(得分:-1)