PHP:刷新我的代码

时间:2009-10-26 19:28:48

标签: php mysql refresh

您好我想每隔3秒刷新一次我的PHP这就是我所拥有的:

<?php
session_start();
include "../config.php";

$time = time();

$sql1 = "UPDATE login SET lastlogin = '" .$time. "' WHERE id = '" .$_SESSION['userid']. "'"; 
$res1 = mysql_query($sql1) or die(mysql_error());

$onlinetime = "10";  // 10 seconds

$sql3 =  "SELECT * FROM login ORDER BY lastlogin DESC"; 
$res3 = mysql_query($sql3);
    while($row3 = mysql_fetch_array($res3)){

if($row3['lastlogin'] + $onlinetime > time()){

echo '<b><font color="green">&#10004;</font></b> <u>'.$row3['name'].'</u><br />';

        }else{

echo "<b><font color='red'>X</font></b> <u>".$row3['name']."</u><br />";
        }
        }            

?> 

这并不令人耳目一新,这真的很烦人。它显示谁在我的聊天室在线。有人帮忙吗?感谢。

7 个答案:

答案 0 :(得分:7)

我建议您使用<meta http-equiv="refresh" content="5" />部分中的<head>标记。 这不依赖于JavaScript ,并且每个主要浏览器都实现了此功能。

答案 1 :(得分:3)

我不知道你要做什么。代码中没有提及刷新。

您可以将以下内容放在HTML的元素中,以强制客户端每三秒刷新一次。

<meta http-equiv="refresh" content="3" />

伊恩

答案 2 :(得分:1)

最好的解决方案是使用ajax并轮询一个php脚本,每隔X秒检查一次在线用户。

我强烈推荐jQuery用于ajax-part。

答案 3 :(得分:1)

刷新浏览器内容是浏览器应该做的事情。使用Redirect-After HTML meta-tag(这将导致“闪烁”),或使用一些Javascript重新加载网站的内容(请参阅AJAX

答案 4 :(得分:1)

您可以使用PHP标头或其他方式刷新。它每次都适合我。

<?php
$url = 'http://google.com/'; $timeout = 5; //Directed URL and timeout.
header('Refresh: ' . $timeout . ';url=' . $url);
?>

答案 5 :(得分:0)

您可以在lastlogin + onlinetime附近添加一些parens:

if($row3['lastlogin'] + $onlinetime > time()){

更改为

if(($row3['lastlogin'] + $onlinetime) > time()){

答案 6 :(得分:0)

您可以使用javascript重新加载:

<META HTTP-EQUIV="Refresh" CONTENT="360; /">