setInterval 与 php 代码

setInterval with php code

我想在我的网站上做一个 "friend request" 选项,我希望能尽快显示好友请求。 (即使我不重新加载页面) 所以我在这里阅读的内容需要 setInterval 和 Ajax,我找到了代码,它第一次运行完美,但它不会在数据库更改时刷新。这是故意的还是我做错了什么? 例如,我有 2 个好友请求,当我的页面空闲时我又收到一个好友请求,但它没有显示,即使我的 javascript 正在再次查询,对吗? 我知道我不应该使用 mysql_query,我会尽快修复它,但这不可能是问题所在。

$(document).ready(function(){ 
    var ajax_call = function() {
    document.getElementById('js_hack').innerHTML = "<?php 
    $ses_sql3=mysql_query("select * from friend_request where reciver='$login_username'", $connection);
    $num_rows = mysql_num_rows($ses_sql3);
    if($num_rows > 0) { echo $num_rows; }?>";
    };

    var interval = 1000 * 1; // where X is your every X minutes

    setInterval(ajax_call, interval);
});

将您的 <?php?> 代码放在一个单独的文件中,然后调用该文件。

我没有查看你的其余代码来验证它是 "good",我想。

你不能像那样在客户端执行服务器端代码;你也不想要它。

这是一个例子,看起来是一个重复的问题:Ajax time interval call to a php function

当客户端在您的站点上执行该 php 脚本时,仅分析一次数据库,然后每隔 "interval" 毫秒,ID 为 [的 html 元素=20=] 将始终用相同的值重写。

对 XMLHttpRequest 对象做一些研究:

http://www.w3schools.com/xml/xml_http.asp

完成后,制作一个 php 文件,其中包含您尝试将 innerHTML 设置为的数据,然后在 javascript 中制作一个使用 xmlhttprequest 功能打开和处理的函数新创建的 php 文件。