首页 文章

从一个表中选择attachment_id,在另一个表中选择user_id

提问于
浏览
0

我想从 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”);

1 回答

  • 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,示例数据使用了不同的名称 . 你应该相应地调整它 .

    希望这可以帮助 .

相关问题