私は他の人の写真を好きになれるプロジェクトを構築しようとしています. あなたが知っているならTinderアプリのように。
今、私は次のように1枚の写真を取得します:
SELECT id, picture_path, profile_picture, username
FROM tusers
WHERE profile_picture IS NOT NULL
AND settings LIKE '1,%'
AND sex = :sex
AND last_visit BETWEEN CURDATE() - INTERVAL 21 DAY AND CURDATE()
AND dob BETWEEN :dob - INTERVAL 5 YEAR AND :dob2 + INTERVAL 5 YEAR
LIMIT 1
ただし、すでに誰かの写真に「いいね」または「合格」している場合は、二度と表示したくありません。私はまだこの部分を行う方法がわかりません (現在、私は alreadyLiked() と alreadyPassed() 関数を持っていて、それらが true を返す場合にのみ header("Location") リダイレクトを行っていますが、好きなときに失敗します/すべての写真を渡しました)。
次の列を持つ別のテーブルがあります: id
、user1_id
、user2_id
、liked
、passed
matched
写真をいいねまたは渡すと、対応する列に 1 が挿入されます。
user1_id
あなたのIDです。user2_id
他人のIDです。
上記の情報を知っている場合、適切な人 (まだ気に入っていない、または合格していない) のみを表示するには、どのような種類のクエリ (またはロジック) を使用しますか?