私は次のクエリを持っています:
'SELECT * FROM posts LEFT JOIN taxi ON taxi.taxiID = posts.postID
WHERE (taxi.value = 1 AND taxi.userID ='.$userID.')
AND ??????????????
ORDER BY taxi.ID DESC
LIMIT 10'
サイトの仕組みは、ユーザーが投稿に「いいね」のタグを付けることができることです。投稿が高く評価されると、タクシーテーブルに新しい行が与えられます。taxiIDはpostIDと同じで、userIDは投稿を高く評価したユーザーを格納し、value
1に設定されます。投稿を嫌うvalue
と0に設定されます。
value
が1で、userID
が$userID
-チェックのすべての投稿を表示したい。ただし、ユーザーがまだ投稿を高く評価していないすべての投稿をクエリに表示することも必要です。ユーザーがまだ投稿を高く評価していない場合はuserID
、NULL
対応するvalue
が。になりNULL
ます。それを照会すると、他のユーザーが気に入ったが、ユーザーが気に入っていない投稿はスキップされます。
表は次のtaxi
とおりです。
ID taxiID userID value
1 1 1 1
2 1 6 1
3 1 4 0
4 2 1 0
5 2 6 1
6 2 4 0
7 3 6 1
8 3 4 0
1であると仮定する$userID
と、私のクエリはtaxiID
1と3を表示するはずです(ユーザー1がID
1を好きで、3を好きまたは嫌いではなかったため) taxiID
。
私が投稿したコードでは、taxiID
1のみが表示されます。
問題は、上記で与えられるはずのクエリの欠落している行は何ですか?