PHP在子数组中需要帮助

时间:2016-08-22 10:40:56

标签: php mysql sql

我有一个两个表1. grocery_product和2. grocery_attribute我可以从grocery_product获取所有数据我的数组如下所示。

Array
(
[0] => Array
    (
        [id] => 1
        [pname] => Royal Moong Dal/Moong Dal
        [categoryid] => 4
        [subcatid] => 3
        [added_date] => 2016-08-16
    )

[1] => Array
    (
        [id] => 2
        [pname] => Royal Toor Dal/Arhar Dal/Tuver Dal
        [categoryid] => 4
        [subcatid] => 3
        [added_date] => 2016-08-16
    )

)

我想在我的grocerry_attribute表中做什么我传递grocery_product_id并从grocery_attribute获取所有数据,其中product只有一个,属性是多个。 我的杂货atrtribute表看起来像。

id                      1
product_id              2
price                   1500
discount                15
product_qty             20

id                      2
product_id              2
price                   1000
discount                10
product_qty             50

我想获取一个grocery_product(id = 1)及其属性数据。 查询??

1 个答案:

答案 0 :(得分:0)

您可以使用LEFT JOIN之类的,

SELECT p.id,p.pname,g.price,g.discount,g.product_qty FROM 
   grocery_product as p
   LEFT JOIN grocery_attribute as g
   ON p.id = g.product_id
   WHERE p.id=2

现在,您可以循环播放属性,并为单个商品显示不同的pricediscountproduct_qty

// Let $products is multidimensional array
if(!empty($products) && isset($products[0]['pname'])){
    echo '<h1>'.$products[0]['pname'].'</h1>';
    foreach($products as $product){
        echo 'Price:'.$product['price']."\n";
        echo 'Discount:'.$product['discount']."\n";
        echo 'Product Quantity:'.$product['product_qty']."\n";
    }
}