我有一个two
表,我想得到的是从PhotoEmbed
表中获取一个Photos
代码,这样我就可以用它在网页上显示一张照片-每次重新加载网页时,它都会显示一张新图片。但我不想继续展示同一张照片?!我想每次都显示一个新图片…所以我设置了以下表格,但不知道如何运行查询来实际获取SELECT PhotoEmbed FROM Photos WHERE **CURRENT UserID** FROM Seen WHERE Seen **IS NOT EQUAL TO 1**
如果Seen
等于1
,则再次运行查询并找到新的PhotoEmbed
代码。您是使用查询来完成此操作,还是只使用select * from Photos and all from Seen
然后使用php来确定要使用的嵌入代码?
下面是两个数据库表的演示。左边是Photos Table
表,右边是Seen
表(从userid开始)。
| PhotoID | PhotoEmbed| |UserID | PhotoID |Seen |
| 1 |Filename.jpg| |2 | 1 |1 |
最佳答案
获取所有不在“已查看”表中的照片,如下所示:
SELECT PhotoID,etc from Photos where PhotoID NOT IN (select PhotoID from Seen where UserId = 1)
如果您只在
Seen
表中插入已查看的图像(seen
列,我猜bool
可能会被删除),如果您为每个用户插入一个新图像,我不认为您应该使用设置为0的seen
填充表。如果用户碰巧看到所有图像,请考虑随机获取:
SELECT * FROM PhotosORDER BY RAND() LIMIT 1;
关于php - 如何从另一个表中没有特定值的UID的表中选择*?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31265206/