我做一個簡單的表與文章列表,用戶的另一個表,另一個物品的用戶喜愛:分組MySQL的結果與連接表
文章表:
id, userId, title, article, date
用戶表
id, name, email, last_login
喜歡錶:
id, user_id, article_id, dateLiked
我當前的查詢:
SELECT
articles.id as aid, articles.userId, articles.title, articles.article,
likes.user_id as uLiked, likes.article_id as articleLiked
FROM articles
LEFT JOIN likes ON articles.id = likes.article_id
WHERE userId= "10"
所以,我想獲得一個用戶的所有文章,然後在while循環,我檢查,看看用戶是否在比賽中喜歡簽署該行,並顯示其激活如果是。如果不是,它仍然顯示爲非活動狀態。如果他們正在查看別人的文章,則可以是他們的名字。他們應該看到所有文章,但是他們鏈接的文章應該是活躍的。
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
if($row['uLiked'] == 30 && $currentArticleID = $row['articleLiked']){ $status = 'active'; } else { $status = 'inactive'; }
echo '<div class="'.$status.'">'.$row['title'].'</div>';
}
問題是,當文章被人喜歡時,帖子會顯示兩次,但兩次都是有效的。我嘗試了分組,但是當分組時,它會像我想要的那樣顯示文章,但沒有任何內容是活動的。
希望我能正確解釋,但我真的被困在這裏。任何想法傢伙?我可能會接近這個錯誤..
編輯您的問題,並提供樣本數據和期望的結果。而且,你寫的查詢不起作用,因爲'WHERE'子句中'user_id'不明確。 –