Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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 如何根据两个表中的id从两个表中选择内容_Php_Mysql - Fatal编程技术网

Php 如何根据两个表中的id从两个表中选择内容

Php 如何根据两个表中的id从两个表中选择内容,php,mysql,Php,Mysql,我收集了两个表并请求,当请求被发出时,它会创建一个id,当这个人得到它与贷款id一起被收集到的表的总金额的一部分时,我需要回显请求信息以及基于两个表上的贷款id收集到的信息,然后在php上获取此信息 表格请求 收集的表格 此选择获取请求表 select * from collected where loan_id = 146 (loan_id from request table) 我希望获得请求信息以及与请求表中每个贷款id对应的收集表信息您可以使用Join(如果表列始终匹配,则使用内部

我收集了两个表并请求,当请求被发出时,它会创建一个id,当这个人得到它与贷款id一起被收集到的表的总金额的一部分时,我需要回显请求信息以及基于两个表上的贷款id收集到的信息,然后在php上获取此信息

表格请求

收集的表格

此选择获取请求表

select * from collected where loan_id = 146 (loan_id from request table)
我希望获得请求信息以及与请求表中每个贷款id对应的收集表信息

您可以使用Join(如果表列始终匹配,则使用内部Join)

select * from collected where loan_id = 146 (loan_id from request table)
如果列有时不匹配,则使用左联接

select * 
from request 
left join collected on request.loan_id = collected.loan_id
inner join users on  request.user_id = users.id
Where request.user_id = $user_id

你得到的所有
打印
while
(以及基本上所有的PHP代码)都与你的问题无关。请清除代码,只保留相关内容(这是您发送的实际查询)。我编辑了我的问题,设置了php,因为最后我需要回显所有信息。现在您的问题好多了。我在这里投票:)我使用了1选项,它实际输出了我需要的内容,但是请求表显示了3倍相同的信息,并且收集的信息是准确的,这很有意义,因为它有3个提交,贷款id为147,有没有办法显示请求信息1行收集的信息3(信息)行数或多行数取决于要添加的数量为1到多行数如果这3行完全相同,则可以使用select distinct。。如果没有,您必须选择disctinct和显式列名,而不是选择*我的意思是请求信息我需要全部信息。收集表只是几个例子收集金额和收集日期是我需要的信息。我会喜欢输出1到更多,2到更多,3到更多等等on@walteralexander.我建议你用一些数据样本和解释结果发布一个新的具体问题。。(不要使用图像..而是发布正确的数据)最终评论我的新链接
select * 
from request 
left join collected on request.loan_id = collected.loan_id
inner join users on  request.user_id = users.id
Where request.user_id = $user_id