0

我有三个不同的文件helper.phpscripts.phpprofile.php在 profile.php中,我有一个显示用户点数的DIV<div id="content"><?php echo $points ?></div>。它从我有所有数据库查询的helper.php中获取变量。我只希望此DIV每 10 秒或当用户单击重新加载按钮时重新加载。

所以首先我试图让它每 10 秒重新加载一次。我找到了这样的脚本:

<script type="text/javascript">
var $JQ = jQuery.noConflict();

function Reload_Content(){
$JQ('#content').load('index.php').fadeOut(1000).fadeIn(1000);}

setInterval('Reload_Content()', 10000);
</script> 

这个脚本,就像现在一样,每 10 秒重新加载我的整个 index.php,而不仅仅是包含用户积分的 DIV!

知道如何使它工作吗?先感谢您!

PS:我真的是 JQuery 的新手!!!

4

4 回答 4

0

我个人会使用 Ben 提供的 REST 方法。但是,如果您设置为使用负载,则可以使用元素 ID 过滤它返回的 HTML。

$("#content").load("index.php #content");

仍然会加载整个 index.php,因此它不如使用 JSON 仅发送点数那么有效。

于 2013-08-21T08:39:41.773 回答
0

一种高度复杂的方法是创建一个提供有效 JSON 的 REST Web 服务,并让 jQuery 从http://anyhost.com/REST/points/user/JoeBud/之类的资源中获取它们。Tbh这并不难学。

另一种方法是在会话变量中保留 user_id 并创建一个专用的 points.php 文件,该文件从会话中检索 user_id 并执行数据库查询。这个文件可以使用你的 setTimeOut-approach 来实现

于 2013-08-21T08:19:03.293 回答
0

如果您想正确执行此操作,您将需要使用 AJAX。首先,您需要一个以 JSON 格式返回点数的端点。例如:

$points = 50; // Retrieve your points before here.

echo json_encode(array(
  'points' => $points
));

// This will return: {points: 50}

然后命名这个points-api.php或任何浮动你的船,然后你可以使用这个脚本每隔几秒钟检索一次点:

var refresh_points = function() {
  $.ajax({
    type: "GET",
    url : "/points-api.php",
    success: function(data) {
      $('#points-div').html(data.points);
    }
  });
}

setInterval(refresh_points, 10000);
于 2013-08-21T08:49:02.723 回答
0

您只能使用重新加载孔页来运行 php 代码,否则请
使用 ajax xmlrequest 和 javascript

或者只是你可以对 index.php 使用 jquery ajax 函数并将其显示在该 div 中

于 2013-08-21T07:35:33.477 回答