我正在做一些删除活动记录,但我不知道我做错了什么..请检查我的工作并尝试纠正它..我正在使用ajax删除用户记录..谢谢
控制器:
//user_acc is my table name , manageuser is the view, Mod_admin is the name of my model
public function manageuser(){
$this->load->view('template/adminhead');
$data['user_acc'] = $this->Mod_admin->user_acc();
$this->load->view('manageuser', $data);
}
public function delete() {
$id = $this->input->post('id');
$this->Mod_admin->deleteuser('user_acc', $id);
}
型号:
public function deleteuser($table, $id)
{
$this->db->delete($table,array('id'=>$id));
}
查看:(manageuser.php)
<html>
<head>
<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<link rel="stylesheet" type="text/css" href="<?php echo base_url()?>assets/css/manageuser.css">
</head>
<title>Manage User</title>
<script>
$(document).ready(function(){
$(".delete").click(function(){
var parent = $(this).parent().parent();
var id = $(this).parent().parent().find('.id').html();
var x =new Object();
x = {
'id':id,
};
var url ="<?php echo base_url()?>/admin/delete";
$.ajax({
url:url,
type:'post',
data:x,
success:function(e){
alert(e);
}
});
parent.remove();
console.log(x);
});
});
</script>
<body>
<div >
<table class="table" >
<tr>
<th>ID</th>
<th>FIRST NAME</th>
<th>LAST NAME</th>
<th>USERNAME</th>
<th>PASSWORD</th>
<th>E-MAIL</th>
<th>CONTACT</th>
<th colspan="2" > CONTROLS </th>
</tr>
<?php
foreach($user_acc as $row){
$id = $row->id;
echo
'<tr>
<td>'.$row->id.'</td>
<td>'.$row->firstname.'</td>
<td>'.$row->lastname.'</td>
<td>'.$row->username.'</td>
<td>'.$row->password.'</td>
<td>'.$row->email.'</td>
<td>'.$row->contact.'</td>
<td>'.'<a href="#" id="button" >'.'Edit</a>'.'</td>
<td>'.'<a href="#" id="button" class="delete" data-id="$id" >'.'Delete</a>'.'</td>
</tr>';
}
?>
</table>
</div>
</body>
</html>
删除后,警告框中没有消息
答案 0 :(得分:0)
您的ajax回调中似乎没有返回,在控制器中的 delete 函数中。
我会在您的控制器删除功能中执行此操作:
public function delete() {
$id = $this->input->post('id');
$result = $this->Mod_admin->deleteuser('user_acc', $id);
echo $result ? 'success' : 'failed';
}
这在您的模型中 deleteuser 函数:
public function deleteuser($table, $id)
{
$this->db->delete($table,array('id'=>$id));
$result = $this->db->affected_rows() > 0 ? true : false;
return $result;
}
答案 1 :(得分:0)
试试这个,
我总是使用site_url进行重定向和链接,并在我想加载一些css或js时使用base_url。还要添加dataType:'json'
**var url ="<?php echo site_url('admin/delete'); ?>";**
$.ajax({
url:url,
type:'post',
data:x,
**dataType: 'json',**
success:function(e){
alert(e);
}
});
让我知道
答案 2 :(得分:0)
你已经把它变得很复杂请考虑一下
<?php foreach($user_acc as $row){ $id = $row->id; ?>
<tr id="tr_<?php echo $id; ?>" >
<td><?php echo $id; ?></td>
<td><?php echo $row->firstname; ?></td>
<!-- other td's -->
<td><a href="javascript:delete('<?php echo $id; ?>')">Delete</a></td>
</tr>
<?php } ?>
<script>
function delete(id){
$.ajax({
url:url,
type:'post',
data:{'id',id},
success:function(e){
if(e=="success"){
$('#tr_'+id).hide();
}
else{
alert(e);
}
}
});
}
</script>
public function delete() {
$id = $this->input->post('id');
$result = $this->Mod_admin->deleteuser('user_acc', $id);
echo $result ? 'success' : 'failed';
}
in model
public function deleteuser($table, $id)
{
$this->db->delete($table,array('id'=>$id));
$result = $this->db->affected_rows() > 0 ? true : false;
return $result;
}
我没有检查您的查询我还建议您使用CSRF保护