我正在尝试在点击按钮时将名为inactive的tinyint字段从0更新为1。我确定我得到了正确的ID,所以没有问题,但我无法更新该字段。
这是我的视图代码。
<a id="deactivate" role="button" href=<?php echo site_url('user/deactivate'); ?>>Deactivate</a>
<script>
$(document).ready(function() {
$('a#deactivate').bind('click',function(event){
if (confirm("Are you sure you want to deactivate " + id_deactivate + "?")) {
url_deactivate = ('<?php echo site_url('user/deactivate'); ?>');
$('a#deactivate').attr('href', function() {
var newURL0 = url_deactivate + "/" + id_deactivate;
console.log(newURL0);
return newURL0;
})
} else{
event.preventDefault()
}
});
});
</script>
为模型:
public function deactivateUser($id, $data){
if($this->db->update('user', "`inactive` = '".$data."'", "`user_id` = '".$id."'")){
return true;
}
return false;
}
对于控制器:
public function deactivate($id){
$this->session->set_userdata('page', 'user');
$this->session->set_userdata('action', 'view');
$data['inactive'] = 1;
$this->user_model->deactivateUser($id, $data);
redirect('user');
}
我很确定问题出在控制器上,但我不知道如何修复它。谁能帮我?提前谢谢。
答案 0 :(得分:1)
试试这个
$this->db->where('user_id', $id);
$update = $this->db->update('user', $data);
if($update) return TRUE;
return FALSE:
查看更多信息here
答案 1 :(得分:0)
不是在确认JS对话框之后设置href值(实际上是非常奇怪的方式),只需在HTML中设置href即可。
然后用
启动JS确认return (confirm("Are you sure you want to deactivate " + id_deactivate + "?")) ? true : false;
如果您返回true
(当用户接受确认时),则让默认操作运行其路线,该路线跟随href中的链接。如果用户不接受确认,则取消默认操作并返回false
,并且没有任何反应。