亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

像在 Facebook 上一樣顯示和訂購帖子

像在 Facebook 上一樣顯示和訂購帖子

PHP
蝴蝶不菲 2023-03-26 14:48:04
我的查詢結果有問題。我有三個表,一個關注者表,一個用戶表和一個帖子表,而我的登錄用戶 = $user_name。我的代碼從 follower 表中調用所有,其中 follower 是 = 登錄用戶,并將所有用戶的名稱稱為他們的關注者($followi)。然后,我從發帖者名稱為 = 的帖子表中調用 all 到用戶關注的用戶的用戶名。并且代碼有效。我的問題:我試圖按日期對我的結果進行排序,但 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>"; }}?>
查看完整描述

1 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

那是因為您的循環以 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 語句


查看完整回答
反對 回復 2023-03-26
  • 1 回答
  • 0 關注
  • 125 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號