用户在页面上花费5秒后,我需要在数据库中增加一个值。
我到目前为止(没有任何延迟)在php文件的顶部:
$stmt = $cxn->prepare('UPDATE table SET column = column + 1 WHERE title = ?');
$stmt->bind_param('s', $title);
$stmt->execute();
用户在页面上花费5秒后如何运行该查询?
答案 0 :(得分:4)
您可以使用 -
实现此目的 AJAX
和setTimeout
function updateDb() {
$.ajax({
url : 'update.php'
});
setTimeout(updateDb, 5000);
}
updateDb();
答案 1 :(得分:2)
制作一个新的php(假设它名为dbupdate.php)文件只包含:
<?php $stmt = $cxn->prepare('UPDATE table SET column = column + 1 WHERE title = ?');
$stmt->bind_param('s', $title);
$stmt->execute(); ?>
然后将其添加到原始文件中:
<script>
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","dbupdate.php",true);
xmlhttp.send();
setTimeout(loadXMLDoc,5000);
}
setTimeout(loadXMLDoc,5000);
</script>