我有一个页面,用户可以在其中制作类似于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
答案 0 :(得分:0)
很简单,你必须在java脚本中设置timmer以每10分钟执行一次函数。
setTimeout("updateMyFBLikeChat()",60000);
不要忘记,这与发布数据时执行的功能不同。 您可以在w3schools.com
中阅读更多内容答案 1 :(得分:0)
你需要执行以下步骤才能获得基本的理解和休息,你可以即兴发挥..
为帖子执行登录会话检查和查询数据库。
$ query =“SELECT * FROM posts
”;
$结果= mysql_query($查询);
while($ row = mysql_fetch_array($ result)){
....
}
在settimeout函数下使用AJAX调用此PHP文件,并提供所需的延迟。
function updatePageContent(){ $就({ 类型:“POST”, dataType:“text”, url:“update.php”, ... .... } $(body).on('load',function(){ 的setTimeout( “updatePageContent()”,60000); });
关于此ajax调用的成功功能,您可以更新DOM。
$(您的-DIV)的.html(responseData);
然而,这只是一个让你开始的基本例子。 一旦您对此方法感到满意,您可以修改脚本以将最后一个帖子ID发送到update.php,并仅返回比此更新的帖子。