我想从phpbb_attachments
中选择5个随机图片,并显示phpbb_users
的作者用户名。
phpbb_attachments: phpbb_topics_posted: phpbb_users:
attach_id topic_id user_id topic_id user_id username
1 10 21 10 21 Tom
2 5 53 5 53 Maria
3 15 11 15 11 John
$ result = mysqli_query($ con,“SELECT * FROM phpbb3_attachments WHERE mimetype ='image / jpeg'ORDER BY RAND()LIMIT 5“);
答案 0 :(得分:1)
你可以试试这个:
SELECT att.attach_id,
u.username
FROM phpbb_attachments att
JOIN phpbb_topics_posted t ON (t.topic_id=att.topic_id)
JOIN phpbb_users u ON (u.user_id=t.user_id)
WHERE att.mimetype='image/jpeg'
ORDER BY rand() LIMIT 5
正如here所述,最好避免ORDER BY RAND()
。看看那里有一些替代品。
另外,我只包括您展示的字段,您应该调整它以包含文件位置等字段。
最后但并非最不重要的是,您的示例查询引用了phpbb3_attachments,示例数据使用了不同的名称。你应该相应地调整它。
希望这有帮助。