使用php代码设置setInterval

时间:2015-01-24 00:08:32

标签: javascript php mysql ajax setinterval

我想提出一个"朋友请求"我的网站上的选项,如果朋友请求可以尽快显示我想。 (即使我没有重新加载页面) 所以我在这里读到的我需要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);
});

2 个答案:

答案 0 :(得分:0)

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

我没有看你的其余代码来验证它是“好的”,想想。

您不能在客户端执行服务器端代码,就像那样;你也不想这样做。

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

答案 1 :(得分:0)

当客户端在您的站点上执行该php脚本时,数据库仅进行一次分析,然后在每个&#34; interval&#34; ms,ID为js_hack的html元素将始终使用相同的值重写。

对XMLHttpRequest对象进行一些研究:

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

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