我有一个名为用户的 MYSQL 表。我还有一个名为 online_status 的列。
在我的页面上,我希望用户能够将他们的状态切换为“在线”或“离线”,并在他们使用 Ajax 单击 div 时在数据库中更新此状态,而无需刷新页面。
这是我的 PHP/HTML 代码:
<?php if ($profile['online_status'] == "Online") {
$status = "Offline";
}else{
$status = "Online";
} ?>
<div id="one"><li class="far fa-circle" onClick="UpdateRecord(<? echo $profile['online_status']; ?>);"/></li><? echo 'Show as ' .$status; ?></div>
我的阿贾克斯:
<script type="text/javascript" src="/js/jquery.js"></script>
<script>
function UpdateRecord(id)
{
jQuery.ajax({
type: "POST",
url: "update_status.php",
data: 'id='+id,
cache: false,
success: function(response)
{
alert("Record successfully updated");
}
});
}
</script>
更新状态.php
<?php
$var = @$_POST['id'] ;
$sql = "UPDATE users SET online_status = 'Offline' WHERE user_id = 1";
$result = mysqli_query($conn,$sql) or die(mysqli_error($conn));
//added for testing
echo 'var = '.$var;
?>
我目前没有收到任何警报,我的数据库中也没有任何更新。请有人可以帮助我改进/修复代码以使其正常工作吗?此外,如果有一种方法可以消除对 update_status.php 文件的需求并拥有 ajax 自我发布,那么这将是首选。
Cats萌萌
蝴蝶不菲