像在Facebook上那样显示和订购帖子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了像在Facebook上那样显示和订购帖子相关的知识,希望对你有一定的参考价值。
我的查询结果有问题。我有三个表,一个跟随者表,一个用户表和一个帖子表,而我登录的用户= $ user_name。我的代码从关注者=的关注者表中调用登录用户的所有代码,并将所有用户的名称称为其关注者($ followi)。然后,我从发帖人表(发帖人姓名=)中的所有人调用该用户所关注的用户名。和代码的作品。
我的问题:我试图按日期对结果进行排序,但是mysql在Followi上具有优先权,并按照发布用户的顺序显示,然后按日期顺序显示。因此,如果一个用户每月有2条帖子,它将显示这两个帖子,然后显示下一位用户,即使他们在最后一分钟发布了5次。
我如何仅显示基于日期的信息,同时将其保持在仅显示登录用户正在关注的用户帖子的位置?
这里是我的代码
<?php
$follow = "SELECT followi from follow where follower = '$user_name'";
$runf = mysqli_query($con,$follow);
while($row=mysqli_fetch_array($runf))
$followi = $row['followi'];
$sel_msg = "SELECT * from posts where poster_name = '$followi' ORDER by post_time desc";
$run_msg = mysqli_query($con,$sel_msg);
while($row_msg=mysqli_fetch_array($run_msg))
echo "
<div id='post_box'>
".$row_msg['post_content']."
</div>
";
?>
答案
这是因为您的循环从followersi数据开始(while循环)。这是您检索数据并将其显示在当前逻辑中的顺序:
获取用户A的帖子
- 用户A帖子1
- 用户A帖子2
- 用户A帖子3
获取用户B的帖子
- 用户B帖子1
- 用户B帖子2
- 用户B发布3
您正在尝试按日期顺序获取帖子,但检索要同时显示的用户信息。您可以使用JOIN语句来做到这一点,例如
$sel_msg = "SELECT posts.*, users.name, users.image
FROM posts
JOIN users on posts.userId = users.id
ORDER BY post_time DESC";
$run_msg = mysqli_query($con,$sel_msg);
您的代码中不需要第一个sql语句
以上是关于像在Facebook上那样显示和订购帖子的主要内容,如果未能解决你的问题,请参考以下文章
没有下一个用于在 Facebook 的商业帐户图形 API 上获取 instagram 媒体的网址
Android 应用程序不像在 Android Studio 中那样显示在设备上
有没有办法像在联系人应用程序中那样在 UIActionSheet 按钮上显示文本?