php mysql UNION ALL-从单独的表中获取id
我想知道是否有人能帮我点忙 我正在做一个时间表,这是很好的工作,但我试图使它,使它添加图片太。。。 努力找到解决办法,我会尽可能地澄清。。。 联合会在获取我需要的信息和显示方面做得很好,但是当我试图从一个包含路径的图像表中获取所述事件的图像时,我有点卡住了 表格示例(非实际表格): 论坛 成员php mysql UNION ALL-从单独的表中获取id,php,mysql,Php,Mysql,我想知道是否有人能帮我点忙 我正在做一个时间表,这是很好的工作,但我试图使它,使它添加图片太。。。 努力找到解决办法,我会尽可能地澄清。。。 联合会在获取我需要的信息和显示方面做得很好,但是当我试图从一个包含路径的图像表中获取所述事件的图像时,我有点卡住了 表格示例(非实际表格): 论坛 成员 |id.....|memid....|username...|date....| |1......|1........|Steve......|date....| |2......|5........
|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|
好的,正如下面的代码所示,显示的信息非常棒,没有问题:)
我已经通过网络,堆栈溢出,我想我需要做一个左连接,我可能错了,我不确定,但我认为这是正确的方式去
当我做下面的左连接时,我没有得到页面,只是空白。
错误日志:
PHP警告:mysqli_fetch_array()希望参数1是mysqli_结果
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,因为论坛部分没有任何图片,但该成员有,在我希望显示成员图片的时间线上:)
我希望我已经解释了我想要实现的目标,如果我错了,希望有人能给我指出正确的方向:)
谢谢大家! 使用此解决方案:-
$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" ;
您可以通过上面的操作一次性获取所有记录,但输出数组中会有重复的成员ID,因为一个成员将有不同的帖子。所以最好在内部联接中使用'members'和'images'表(希望一个用户有一个配置文件映像),并创建第二个sql以从'members'获取每个成员id的所有帖子。希望以上解决方案能对您有所帮助。如果出现任何错误,请通知我。如果要进行UNION,表必须具有相同的列UNION工作正常:)我正在尝试分别从成员表中提取id,以便获得成员图像,从而得到左联接…您期望的结果是什么?请发布一个样本。您好,谢谢,尽管这不是我想要的,但它告诉了我需要去的方向:)
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
$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" ;