我在从数据库加载按日期排序的数据时遇到了麻烦。
我创建了一个数据库来保存数据(大约4个用户ID)。在时间线页面上,上述用户的帖子应该是“相对”回应,按日期排序。
但是当我编码时,第一个用户的帖子首先被加载,按日期排序,第二个用户等等....
请问我该如何解决这个问题?
编辑!
$timeline = mysql_query("SELECT id FROM timeline_users") or die (mysql_error());
while($row = mysql_fetch_array($timeline)) {
$user = $row['id'];
$post = mysql_query("SELECT * FROM post WHERE userid = $user ORDER BY date DESC LIMIT 7") or die (mysql_error());
$p = mysql_fetch_array($post);
//post data
}
}
//等等
答案 0 :(得分:0)
您希望按日期顺序显示帖子,而不是由用户显示?首先加载第一个用户的原因是因为您的第一个查询它没有任何订单,所以无论您按第二个查询的日期顺序,它仍将获得第一个用户,因为它是第一个加载到你的第二个问题。
试试这个:
$timeline = mysql_query("SELECT id FROM timeline_users") or die (mysql_error());
while($row = mysql_fetch_array($timeline)) {
$user[] = $row['id'];
}
$newUsers = implode(",",$user);
$post = mysql_query("SELECT * FROM post WHERE userid IN ($newUser) ORDER BY date DESC LIMIT 7") or die (mysql_error());
$p = mysql_fetch_array($post);