2013-12-14 76 views
1

我試圖每次點擊一個按鈕時更新一個tinyint字段,從0調用到1。我確定我得到了正確的ID,所以沒有問題,但我無法更新該字段。更新使用codeigniter在數據庫中提交的tinyint

這是我的視圖代碼。

<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'); 
} 

我敢肯定,這個問題是與控制器,但我不知道該怎麼修理它。誰能幫我?先謝謝你。

回答

1

模型試試這個

$this->db->where('user_id', $id); 
    $update = $this->db->update('user', $data); 
    if($update) return TRUE; 
    return FALSE: 

查看更多信息here

+0

謝謝!有效。 –

0

而是確認JS對話框(中繞了很奇怪的方式)之後設置href值,只需設置HREF已經在HTML。

然後你啓動JS與

return (confirm("Are you sure you want to deactivate " + id_deactivate + "?")) ? true : false; 

確認如果返回true(當用戶接受確認)你讓默認操作自生自滅,這是繼在href的鏈接。如果用戶不接受確認,您將取消默認操作並返回false,但不會發生任何事情。

+0

謝謝你的建議。 –

相關問題