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