我一辈子都搞不懂为什么不能从表B中获取图像。它从表A的所有内容中都不返回表B中的任何内容。
我想知道是不是桌子的结构。表的设置方式是,order_detail表中可能有多个order_number实例。两个Product_id字段都是INT(10),而且之前order_detail表没有主键(自动递增)。因为订单号取自另一个表,并且每个订单对于每个购买的产品都可以有10个相同的订单号,所以主键是一个单独的字段。
我应该创建订单号作为索引字段吗?任何帮助都是我即将放弃的很棒的信用证。

Here is order details:
id      order_number  date_time         product_id  product_name    quantity
2       10011     2012-12-20 14:11:24   13          T-Shirt         1
3       10011     2012-12-20 20:02:31   11          T-Shirt         1

Here is products:
product_id  who product_name    color   size    price   image
13          men T-shirt     red medium  15.00   /images/apparel/t-shirt.jpg
11          men T-Shirt         red small   15.00   /images/apparel/t-shirt.jpg

This is the end result of my query:

Order Number    Image   Product Name    Quantity    Cost Each   Total
10011               T-Shirt         2           $15.00          $30
10011               T-Shirt         2           $15.00      $30




$order_number = $_GET['var1'];
$query = "SELECT a.product_name, a.quantity, b.image, a.product_cost FROM order_detail a LEFT JOIN products b ON a.product_id = b.product_id WHERE a.order_number = '$order_number'";
$data = mysqli_query($dbc, $query);

while($row = mysqli_fetch_assoc($data)){
$prod_name = $row['product_name'];
$quantity = $row['quantity'];
$cost = $row['product_cost'];
$img = $row['image'];

最佳答案

它可以处理您的数据并查询一些更改(order\u detail表中没有product\u cost字段):
http://www.sqlfiddle.com/#!2/38c9b/7

关于php - Mysql JOIN不返回联接表的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14795509/

10-12 00:05