我想知道有没有什么能帮上忙的。
我正在做一个时间线,它工作得很好,但我正在努力使它添加图片也…我正在努力寻找解决方案,我会尽量说清楚……UNION ALL很好地获取了我需要的信息并显示出来,然而,当我试图从一个保存着我被卡住的路径的图像表中获取所述事件的图像时。
表示例(不是实际的表):
论坛
|id.....|memberid.|Descrip....|date....|
|71.....|1........|Hello all..|date....|
|82.....|5........|Hows you...|date....|
成员
|id.....|memid....|username...|date....|
|1......|1........|Steve......|date....|
|2......|5........|Donna......|date....|
图片
|id.....|memid....|image
|47.....|1........|images/stevepic.png|
|139....|5........|images/donnapic.png|
好的,正如下面的代码所示,信息显示得很好,没有问题:)
SELECT id as timeline_id, date_time as timeline_date, thread_title as
timeline_title, post_body as timeline_body FROM forum_posts
UNION ALL
SELECT memid as timeline_id, lastlogin as timeline_date, memusername as
timeline_title, town as timeline_body FROM members
我一直在通过网络,堆栈溢出,我想我需要做一个左连接,我可能是错的,我不确定,但这是我认为是正确的方式。
当我做下面的左连接时,我得不到页面,只有空白。错误日志: PHP警告: mysqli_fetch_array()要求参数1为mysqli_result
SELECT id as timeline_id, date_time as timeline_date, thread_title as
timeline_title, post_body as timeline_body FROM forum_posts
UNION ALL
SELECT memid as timeline_id, lastlogin as timeline_date, memusername as
timeline_title, town as timeline_body FROM members LEFT JOIN membersimages ON membersimages.memid = members.memid WHERE memid = %s
我试图收集的是成员的ID,因为论坛部分没有任何图片,但成员有,在时间线上我希望显示成员的图片:)
我希望我已经解释了我正在努力实现的目标,如果我弄错了,希望有人能给我指明正确的方向:)谢谢!
发布于 2018-06-25 03:18:08
使用此解决方案:
$sql = "select *
from members as 'mem'
inner join forum_posts as 'fp'
on fp.memberid = mem.memid
inner join images as 'img'
on img.memid = mem.memid
where 1" ;
如上所述,您可以在一次拍摄中获取所有记录,但在输出数组中会有重复的成员in,因为一个成员将有不同的帖子。所以更好的方法是在内部连接中使用'members‘和'images’表(希望一个用户有一个配置文件镜像),并创建第二个sql来从'members‘获取成员id的所有帖子。希望上面的解决方案能对你有所帮助。如果有任何错误,请通知我。
https://stackoverflow.com/questions/51011269
复制相似问题