-3

用户在页面上停留 5 秒后,我需要在数据库中增加一个值。

到目前为止,我在 php 文件的顶部有这个(没有任何延迟):

$stmt = $cxn->prepare('UPDATE table SET column = column + 1 WHERE title = ?');
$stmt->bind_param('s', $title);
$stmt->execute();

用户在页面上停留 5 秒后,我将如何运行该查询?

4

2 回答 2

4

您可以使用 -

AJAXsetTimeout

function updateDb() {
     $.ajax({
        url : 'update.php'
    });

    setTimeout(updateDb, 5000);
}

updateDb();
于 2013-09-23T05:11:04.137 回答
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>
于 2013-09-23T05:18:07.533 回答