如何使用PHP查询MySQL中的某些行,然后根据UID为每一行查询另一个基于值的表?
我正在申请销售商品和提供产品。如果用户查看其产品优惠,则必须包含每个优惠信息以及该优惠的每个用户的详细信息。如何使用PHP查询MySQL中的某些行,然后根据UID为每一行查询另一个基于值的表?,php,mysql,sql,join,select,Php,Mysql,Sql,Join,Select,我正在申请销售商品和提供产品。如果用户查看其产品优惠,则必须包含每个优惠信息以及该优惠的每个用户的详细信息。 首先告诉需要查询的数据库,该数据库由ajaxonclick函数激活。(我明白了) 其次,在OFFERS表中查询状态为“o”且PID等于$\u GET['PID'](5)的OFFERS 然后根据每个报价查询用户表中的信息? 之后,对于每个结果,基于UID,查询users表以获取与用户相关的信息 USERS ------------------------------------- | ui
首先告诉需要查询的数据库,该数据库由ajaxonclick函数激活。(我明白了)
其次,在OFFERS表中查询状态为“o”且PID等于
$\u GET['PID']
(5)的OFFERS
然后根据每个报价查询用户表中的信息?
之后,对于每个结果,基于UID,查询users表以获取与用户相关的信息
USERS
-------------------------------------
| uid | fname | lname | rating |
-------------------------------------
| 5 | John | Jan | 4.3 |
| 7 | Mark | Mull | 4.2 |
-------------------------------------
下面是我的PHP语句的一个片段
$stmt = $conn->prepare('SELECT offerdate,price FROM offers WHERE pid=? AND status=?');
$o = 'o';
$stmt->bind_param('is', $_POST['pid'],$o);
$stmt->execute();
$stmt->bind_result($offerdate,$price);
我需要的另一份声明
$stmt = $conn->prepare('SELECT fname,lname,rating, FROM users WHERE uid=?');
$stmt->bind_param('i', );
$stmt->execute();
$stmt->bind_result($fname,$lname,$rating);
任何帮助都会很棒,谢谢 执行一个连接两个表的查询
SELECT offerdate, price, fname, lname, rating
FROM offers
INNER JOIN users ON users.uid = offers.uid
WHERE offers.pid = ? AND offers.status = ?
您可以通过一个连接在一个查询中获得该结果:
select
o.offerdate,
o.price
u.fname,
u.lname,
u.rating
from offers o
inner join users u on u.uid = o.uid
where o.pid = ? and o.status = ?
这回答了你的问题吗?为什么我使用内部联接而不是左联接?是否存在与
用户不匹配的offers.uid
?仅当可能不存在匹配项时,才需要左连接
,但仍需要返回行。
select
o.offerdate,
o.price
u.fname,
u.lname,
u.rating
from offers o
inner join users u on u.uid = o.uid
where o.pid = ? and o.status = ?