我一直在尝试更新数据库行,而不必重新加载页面或重定向到另一个页面来提交查询。我已经尝试了我能做的任何事情,但没有运气。我有一个画廊页面。当用户提交艺术品时,默认情况下它没有被批准,并且可以由授权用户(例如版主)批准。版主页面列出了未经批准的艺术作品。数据库有一个名为approved 的列,其值为0 或1。
这是我的代码。
更新:
非常感谢您抽出宝贵时间。我做了你说的改变,但它仍然没有工作。诚然,我对 jQuery/Ajax 不是很擅长,所以我认为它为什么不起作用是我的错误。我的代码现在是这样的:
模型功能:
function approve($id)
{
$this->db->where('id', $id);
$this->db->update('galeri', array('approved' => '1'));
return TRUE;
}
控制器
function approve($id)
{
if ($this->galeri->approve($id)) {
echo("VALID");
}
}
HTML
.
.
.
<script type="text/javascript">
$(document).ready(function() {
var test = $("a.approval").attr("id").replace('artid-','');
$.ajax({
type: 'post',
url: 'approve',
data: test,
beforeSend: function() {
parent.animate({'backgroundColor':'#fb6c6c'},300);
},
success: function(data, textStatus, jqXHR) {
if (data == "VALID") {
parent.slideUp(300,function() {
parent.remove();
});
};
}
});
});
});
</script>
.
.
.
<?php foreach ($query->result() as $list): ?>
<span style="display: block">
<?php echo $list->path; ?> -- <a href="javascript:void(0)" id="artid-<?php echo $list->id; ?>'" class="approval">Approve artwork</a>
</span>
<?php endforeach; ?>
.
.
.