我创建了一个带有 div 的 php 文件,该文件每 10 秒刷新一次。在这个 div 中,加载了查询的结果。演示: http: //mauricederegt.nl/test/test.php
看起来是在刷新 div,但是如果在数据库中添加了新数据,则 div 并没有获取到新数据,而是一直显示旧数据。
我使用与需要重新加载的页面相同的页面:
$('#scoreboard-overview').fadeOut('slow').load('index.php #scoreboard-overview').fadeIn("slow");
如果我将 div 中使用的 sql 查询复制到外部 php 文件(例如 reload.php),然后像这样调用它:
$('#scoreboard-overview').fadeOut('slow').load('reload.php').fadeIn("slow");
它有效,div 显示最新数据。问题是:我不想使用另一个外部 php 文件。
我怎样才能做到这一点?
我也尝试将$resulttt
查询放在 div 中,但这也没有效果。我错过了什么?
亲切的问候,
index.php 中使用的代码:
<?php
/////////////////////////////////////////////
//mysql_connect(servername,username,password);
//Here we connect to the database
/////////////////////////////////////////////
//Get the data
$resulttt = mysql_query("SELECT fbID, highscore, stars, MIN(time) AS time FROM highscore GROUP BY fbID, highscore ORDER BY highscore DESC, time ASC LIMIT 7");
?>
<!DOCTYPE html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta charset="utf-8">
<title>Test</title>
<link rel="stylesheet" href="test.css" />
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.2.min.js"></script>
<script>
var auto_refresh = setInterval(
function()
{
$('#scoreboard-overview').fadeOut('slow').load('index.php #scoreboard-overview').fadeIn("slow");
}, 10000);
</script>
</head>
<body>
<div id="scoreboard">
<div id="scoreboard-title">High scores</div>
<div id="scoreboard-overview">
<?php echo '<ul>';
$num_rows = mysql_num_rows($resulttt);
$i = 0;
while($row = mysql_fetch_array($resulttt)) {
$i = $i + 1;
$fb_data = json_decode(file_get_contents('http://graph.facebook.com/'. $row['fbID']));
$fb_locale_str = $fb_data->locale;
$fb_name_str = $fb_data->first_name;
$fb_country_str = strtolower(substr($fb_locale_str, -2));
$flag_uri = 'images/flags/unknown.gif'; //display a general flag if unknown.
$row['fbnr'] = $row['fbID'];
echo '<li id="'. $row['fbnr'] .'">
<div class="userpicture"><img src="https://graph.facebook.com/'. $row['fbID'] .'/picture" alt="" /></div>
<div class="username"><p>'.$i.'. '.$fb_name_str.'</p></div>
<div class="userflag"><img src="'.$flag_uri.'" alt="" /></div>
<div class="userholder">
<div class="usertime"><p><img src="images/time.png" alt="" /><br>'. $row['time'] .'</p></div>
<div class="userstars"><img src="images/'. $row['stars'] .'s.png" alt="" /></div>
<div class="userscore"><p>'. $row['highscore'] .'</p></div>
</div>
</li>';
}
echo '</ul>'; ?>
</div>
<div id="scoreboard-bottom">end</div>
</div>
</body>
</html>
我想我找到了一个解决方法GET
,感谢大家的帮助