我的数据库中有一个views列。我想在点击超链接访问特定页面时用+1更新列。我正在使用jQuery,Ajax和codeigniter。我无法做正确的事情,以触发数据库中的更新。请帮助我失去什么。在codeigniter中使用jQuery Ajax更新数据库中的列
下面是我的代码:
HTML
<a href="<?php echo base_url(); ?>site/details/<?php echo $value->hid; ?>" name="hid" id="clicker">
JS
$(document).ready(function(){
$("a#clicker").click(function(){
$.ajax({
type: "POST",
url: "<?php base_url(); ?>site/traffic",
success: function(data){
alert("I got a view");
console.log(data);
}
});
});
});
控制器
public function traffic(){
$id = $this->input->post("hid");
$this->My_model->updateView($id);
}
型号
public function updateView($id = NULL, $data){
$this->db->set('view', 'view+1');
$this->db->where('id', $id);
$this->db->update($this->table, $data);
}
谢谢Dhaniram和manuman94。但我还没有解决我的问题。 Evertything保持不变。我可以选择适当的'id',但无法更新表格列。有人建议,也许我先为该列做一个选择,然后增加值。老实说,我不知道如何实现这个目标,我尝试了一些技巧,并且在各处都遇到了错误。 – pimpace
我最终没有jQuery的一面工作。我所做的只是将更新查询放入细节模型函数中。和中提琴,它现在起作用。尽管jQuery确实获取了所需的数据。也许我会利用它在我的项目的其他领域的使用。 但是,我会投票manuman94的建议。它效果最好,尤其是他的Ajax部分。 谢谢大家。 – pimpace
这是一个可怜的,但是,你有它的工作。不客气,谢谢大拇指! – manuman94