这是我的PHP文件代码:
<?php
require('config.inc'); //Init DB.
$current_user_id = $_GET['uid']; //Set User ID From AJAX GET.
mysql_query("USE social-network"); //Set MySQL DB.
$userFavs = "SELECT subscribee_id FROM subscribe WHERE subscriber_id = '" . $current_user_id . "'"; //Get people user is subscribed to.
$query="SELECT * FROM posts WHERE (post_owner_id IN ($userFavs) OR post_owner_id = '" . $current_user_id . "') ORDER BY id DESC"; //Select posts by user AND by people user is subscribed to.
$result=mysql_query($query); //Do the query.
$num=mysql_numrows($result); //Get number of rows in query.
$i=0; //Display selected posts.
while ($i < $num) {
$owner_id=mysql_result($result,$i,"post_owner_id");
$content=mysql_result($result,$i,"content");
$date=mysql_result($result,$i,"date");
$poi_query=mysql_query("SELECT firstname, lastname, profile_picture FROM `social-network`.`users` WHERE id = '" . $owner_id . "'") or die(mysql_error());
$post_firstname=mysql_result($poi_query, 0, "firstname");
$post_lastname=mysql_result($poi_query, 0, "lastname");
$post_profile_picture=mysql_result($poi_query, 0, "profile_picture");
?>
<div class="post">
<h1 class="post-title"><a href="profile.php?user=<?php echo $owner_id; ?>"><?php echo $post_firstname; ?> <?php echo $post_lastname; ?></a></h1>
<p class="content"><?php echo $content; ?></p>
<p class="details"><?php echo $date; ?></p>
</div>
<?php
$i++;
}
?>
这是我的JS AJAX请求:
function loadPosts()
{
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","PHP/news-feed.php?uid=<?=$current_user_id?>",true);
xmlhttp.send();
document.getElementById("posts").innerHTML=xmlhttp.responseText;
}
我页面上的帖子部分下没有显示任何内容。我究竟做错了什么? PHP代码经过测试,当我直接将其包含在帖子页面中时,它就可以运行了。 我正在尝试做什么:PHP Newsfeed with Reload
答案 0 :(得分:0)
id为“posts”的元素在哪里?,我只能看到带有帖子类
的div标签答案 1 :(得分:0)
你的ajax有一个问题,就是假设它是同步的:你在发送请求后正在期待一个结果,而是你应该在onreadystatechange
事件上附加一个事件处理程序。 / p>
如果您对ajax没有任何经验,我建议您使用像jQuery这样的库来为您处理。
除此之外,我也没有看到你在哪里调用你的ajax函数。