如何使用PHP和MySQL从特定客户选择所有订单?
当我试图选择访问网站的给定客户的所有订单并在屏幕上显示它们时,我遇到了一个问题。问题是返回的数组具有订单的三倍(每个订单显示三次,而不是一次) 我的数据库有一个customers表、一个products表和一个orders表。 我希望关联数组具有订单id、产品名称、订单日期和价格,事实上,所有这些都将被返回。但是,每个订单将选择3次。如何使用PHP和MySQL从特定客户选择所有订单?,php,mysql,database,pdo,Php,Mysql,Database,Pdo,当我试图选择访问网站的给定客户的所有订单并在屏幕上显示它们时,我遇到了一个问题。问题是返回的数组具有订单的三倍(每个订单显示三次,而不是一次) 我的数据库有一个customers表、一个products表和一个orders表。 我希望关联数组具有订单id、产品名称、订单日期和价格,事实上,所有这些都将被返回。但是,每个订单将选择3次。 我在互联网上搜索过这样的例子,但我找不到任何符合我要求的例子。有人知道为什么这些价值观是三倍的您的加入不正确。ON子句需要将两个表中的列关联起来 由于您没
我在互联网上搜索过这样的例子,但我找不到任何符合我要求的例子。有人知道为什么这些价值观是三倍的您的
加入
不正确。ON
子句需要将两个表中的列关联起来
由于您没有从customers
表中选择任何内容,因此在查询中根本不需要这些内容
SELECT orders.orderID, orders.date, products.name, products.price
FROM orders
INNER JOIN products ON orders.productID = products.productID
WHERE orders.userID = ?
如果您确实希望包含客户信息,则应包括:
SELECT customer.name, orders.orderID, orders.date, products.name, products.price
FROM orders
INNER JOIN customer ON order.userID = customer.userID
INNER JOIN products ON orders.productID = products.productID
WHERE customer.userID = ?
从客户中选择*
由Nama_客户订购
从客户中选择*
Nama_客户描述的订单
从Pasok中选择*
Jumlah_Pasok的命令
从Pasok中选择*
Jumlah_Pasok DESC的命令
从供应商中选择*
其中Nama_供应商不喜欢“%tron”
从客户中选择*
其中Kode_客户='J-001'
或Kode_客户='B-002'
从客户中选择*
其中Kode_客户位于('J-001','B-002')
从客户中选择Nama_客户
Kode_客户在('J-001','B-002'中的位置)
由Nama_客户订购 注意:尝试摆脱在一次性使用的变量中声明SQL语句的习惯。如果查询直接提供给函数,那么遵循代码就容易多了,而且不再有可能弄乱并发送
$sql3
而不是视觉上相似的$sql8
。谢谢。这解决了我的问题。我的问题似乎结构不好。请你解释一下你的解决方案和你做了什么?
SELECT customer.name, orders.orderID, orders.date, products.name, products.price
FROM orders
INNER JOIN customer ON order.userID = customer.userID
INNER JOIN products ON orders.productID = products.productID
WHERE customer.userID = ?