图片和Seen_pictures,向用户显示“图片”表中的图片,然后将该图片(其在表中的ID)移动到Seen_Pictures,并向用户显示“图片”表中的新图片。我需要一个mysql方案,该方案将输出Pictures和Seen_pictures表之间的差异,这样我就知道用户未看到哪些图片,并可以输出它们。
到目前为止,我有这个功能,但它仅适用于1个用户,我需要它来考虑许多不同的用户:
$result = mysqli_query(
$link,
"SELECT o_Pics.Pic.PicID
FROM o_Pics.Pic
LEFT JOIN o_SeenPics.Seen ON o_Pics.Pic.PicID=o_SeenPics.Seen.PicID
WHERE NOT o_Pics.Pic.ID='".$ID."' AND o_SeenPics.Seen.PicID IS NULL"
);
最佳答案
怎么样
SELECT p.p_id FROM Picture p WHERE p.p_id NOT IN
(SELECT s.p_id FROM Seen_Picture s WHERE s.u_id = "$user_id")
Picture
p_id(Primary Key) picture
Seen_Picture
id(Primary Key) u_id p_id