jquery刷新php循环?

时间:2010-04-22 13:41:27

标签: jquery

我有一个页面,用户可以在其中制作类似于facebook的“帖子”,我试图找出如何让它运行php循环说每10分钟,以便该人看到新帖子。每次发布帖子都会将其添加到数据库中,然后刷新页面,我想要更多“facebook like”。使用jquery向下滑动等。下面是我现在的内容。

function postdata()
{
    $.ajax({
    type: "POST",
    dataType: "text",
    url: "makepost.php",
    data: "post_text=" + $("#post_text").val(),
    cache: false,
    success: function(reply_text)
    {
        if (reply_text.indexOf("Successful") >= 0)
        {
            alert("Post Made");
            window.location = "index.php"


        }
        else 
        {
            alert(reply_text);
        }
    }
    });
}

</script>

    <div id="content">
<?php

if (loggedin())
{

$ID = getID();
$query = "SELECT * FROM `posts`";
$result=mysql_query($query);
$count=mysql_num_rows($result);

$users = "SELECT `userID` FROM `users`";
$resultID=mysql_query($users);


while ($row = mysql_fetch_array($result)) 
{   

echo '<div class="posts">';

    echo $row['2']."<br /><br />";      

        echo '<div class="posts_bottom">';

            echo '<p class="name">';

            echo showuser($row['1'])."</p>";

            echo '<p class="rate">';

            echo '<input type="submit" value="+1"/></p>';   

            echo '<p class="points">';

            echo showpoints($row['1'])."</p>";

        echo "</div>";

echo '</div>';

}
echo 
'<div id="makepost">
    <br /><textarea rows="3" cols="25" id="post_text" ></textarea><br />
    <input type="submit"  id="post_bttn" value="Post" onclick="postdata(); return false;">  
</div>';

因为他们每次都被放入一个新的div我不知道要刷新什么?例如,如果它是一个div我可以刷新,但这些正在创建,我不知道需要加载多少。

任何adivce?非常感谢:D

2 个答案:

答案 0 :(得分:0)

很简单,你必须在java脚本中设置timmer以每10分钟执行一次函数。

setTimeout("updateMyFBLikeChat()",60000);

不要忘记,这与发布数据时执行的功能不同。 您可以在w3schools.com

中阅读更多内容

答案 1 :(得分:0)

你需要执行以下步骤才能获得基本的理解和休息,你可以即兴发挥..

  1. 创建一个PHP文件(可能名为update.php)。
  2. 为帖子执行登录会话检查和查询数据库。

    $ query =“SELECT * FROM posts”; $结果= mysql_query($查询); while($ row = mysql_fetch_array($ result)){ .... }

  3. 使用echo语句返回完整的HTML。
  4. 在settimeout函数下使用AJAX调用此PHP文件,并提供所需的延迟。

    function updatePageContent(){     $就({         类型:“POST”,         dataType:“text”,         url:“update.php”,         ...         .... } $(body).on('load',function(){ 的setTimeout( “updatePageContent()”,60000); });

  5. 关于此ajax调用的成功功能,您可以更新DOM。

    $(您的-DIV)的.html(responseData);

  6. 然而,这只是一个让你开始的基本例子。 一旦您对此方法感到满意,您可以修改脚本以将最后一个帖子ID发送到update.php,并仅返回比此更新的帖子。