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
Mysql 使用php的3个表之间的关系_Mysql - Fatal编程技术网

Mysql 使用php的3个表之间的关系

Mysql 使用php的3个表之间的关系,mysql,Mysql,我需要在3个表之间创建一个关系。我正在创建一个会员区,在这里我需要向登录用户显示他购买的课程。这三个表是:用户,产品,购买 Users columns: id, name, email, password Products columns: id, code, name, image, link Purchases columns: id, code, email, value, date 我通过一个界面注册产品,然后通过webhook获得购买信息。也就是说,我注册的产品与我从webhoo

我需要在3个表之间创建一个关系。我正在创建一个会员区,在这里我需要向登录用户显示他购买的课程。这三个表是:
用户
产品
购买

Users columns: id, name, email, password

Products columns: id, code, name, image, link

Purchases columns: id, code, email, value, date
我通过一个界面注册产品,然后通过webhook获得购买信息。也就是说,我注册的产品与我从webhook收到的代码相同


我需要知道登录用户是否购买了我系统上的课程,并向他展示。

那么您是在寻找表之间唯一键和/或索引的连接

我假设:

  • ID是每个表的主键;然而,您正在使用唯一的索引来关联它们
  • Useres.email是唯一的密钥
  • Product.code是唯一的密钥
  • Purchases是一个连接表,显示哪些用户(电子邮件)购买了哪些产品(代码)
  • 您正在进行的查询显示登录用户的产品名称、图像和链接以及用户名和电子邮件
  • 购买意味着完全出售;不仅仅是购物车/愿望清单。在处理订单系统时,我们通常会看到订单、订单细节、装运、发票、付款等


那你有什么<代码>发货/
采购
/
课程
.?“电子表格是:用户、产品、采购。”然后是“用户产品采购”是用户还是用户、产品还是产品、采购还是购物?在“采购”下有一个产品代码列表列和一个用户ID列,然后用登录用户的ID检查购买表,以获得他购买的每一种产品。您需要进一步了解关联表和规范化数据库表。也许可以在众多免费网站中的一个上SQL课程。这里有更多的信息,特别是你要寻找的:可能重复的
SELECT PR.Name as ProductName, PR.Image, PR.Link, U.Name as userName U.Email 
FROM users U
INNER JOIN Purchases PU
 on PU.eMail = U.eMail
INNER JOIN Products PR
 on PR.Code = PU.Code
WHERE U.ID = {logged in user ID}