Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-无法链接表以获取所需信息_Php_Mysql - Fatal编程技术网

PHP-无法链接表以获取所需信息

PHP-无法链接表以获取所需信息,php,mysql,Php,Mysql,场景 用户可以表示有兴趣参加活动的晚宴,管理该活动的人员可以选择接受或不接受他们的请求,如果请求已被接受,则应禁用“接受”按钮 什么在起作用 一切都在工作,直到需要禁用按钮的部分,信息显示正确,我很难链接数据库表,这样我就可以使用禁用按钮所需的信息 尝试 这就是我的查询 SELECT r.id as request_id, r.status as dinner_status, r.dinner_id, d.name as dinner_name, d.date as dinner_date, u

场景

用户可以表示有兴趣参加活动的晚宴,管理该活动的人员可以选择接受或不接受他们的请求,如果请求已被接受,则应禁用“接受”按钮

什么在起作用

一切都在工作,直到需要禁用按钮的部分,信息显示正确,我很难链接数据库表,这样我就可以使用禁用按钮所需的信息

尝试

这就是我的查询

SELECT
r.id as request_id,
r.status as dinner_status,
r.dinner_id,
d.name as dinner_name,
d.date as dinner_date,
u.first_name as user_first_name,
u.last_name as user_last_name,
u.id as user_id,
u.description as user_description,
u.profile_image as user_profile_image,
c.name as user_college_name,
c.id as user_college_id,
c.slug as user_college_slug
FROM `requests` r
LEFT JOIN `college_dinners` d ON r.dinner_id = d.id
LEFT JOIN `user` u ON r.guest_id = u.id
LEFT JOIN `college` c on u.college_id = c.id
WHERE d.college_id = $collegeId
AND u.id = '77'
现在是最重要的部分。

有一个名为
邀请函
的表格,仅当客人的晚餐请求被排除在外时,才保留
客人id
晚餐id
。如何使用此
邀请
表更新查询并在其中包含信息,在此基础上可以启用和禁用视图上的按钮

PHP尝试

我也愿意自己用PHP解决这个问题,因此,我决定使用
foreach
循环作为我从上述查询中获得的结果,在
foreach
中,我正在为表
investments
创建另一个查询,然后使用
if
检查当前循环的
dinner\u id
是否与
dinner\u id
匹配,对于
foreach
内的第二个查询的
guest\u id
,但通过这样做,索引会被拧紧

foreach ($invitations as $invitation) {
  $invitatedSQL=".....";

if ( $invitedResult['guest_id'] == $invitation['user_id'] && $invitedResult['dinner_id'] == $invitation['dinner_id'] ) {
  $isInvited = 'yes';
}
}

请注意,我在前端不需要任何帮助,我遇到的问题只是mysql查询。我将非常感谢您在这件事上的任何帮助

只需一个简单的左键连接。如果条件为false,则会出现null

LEFT JOIN `invitations` i on r.guest_id = i.guest_id AND r.dinner_id = i.dinner_id
附言。 您的
左连接
s很少像普通的
内部连接
s。您应该了解差异。

嗨,谢谢你的帮助,让我看看。我假设
g.guest\u id
你的意思是
r.guest\u id
d.dinner\u id
你的意思是
r.dinner\u id
非常感谢你,我在php中做这件事已经有两个多小时了,不知道我要做的是把另一个
加入
。万分感谢