2016-08-22 7 views
1

私は2つのテーブルを持っています1. grocery_productと2. grocery_attributeここで、私はgrocery_productからすべてのデータを取得できます。PHPサブ配列でヘルプが必要

私は私のgrocerry_attributeテーブルに私はgrocery_product_idを渡していますことを行うと、製品は一つだけで、属性が複数あるgrocery_attributeからすべてのデータを取得したい何
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 
    ) 

) 

。 私の食料雑貨品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 

私は1つgrocery_product(ID = 1)とその属性データを取得したいです。 クエリ??

あなたが好き LEFT JOIN使用することができます
+0

あなたはMySQLクエリをお探しですか? – zakhefron

+0

には、1対多関係があります。したがって、2つのクエリ、1つは製品を取得し、もう1つはその製品の属性を取得する必要があります。この場合JOINを使用すると、統計データ(カウントまたはカンマ区切りの値)が必要な場合を除き、冗長データを含む行が返されます。 –

+0

私はproduct_id(1)を渡し属性データ(4行)を取得すると、すべてのattribute.butを取得しています。私の配列は0から3です。1つの配列とそのすべての属性を1つの配列に入れたいと思います。可能? –

答えて

0

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 

は今、あなたは属性のループとは、単一の製品のためpricediscount、およびproduct_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"; 
    } 
} 
+0

私はproduct_id(1)を渡し属性データ(4行)を取得すると、私はすべてのattribute.butを取得しています。私の配列は0から3です。私は1つの配列とそのすべての属性を1つの配列に入れたいと思います。可能? –

+0

私の更新された回答を参照 –

+0

product_idでグループ化することは可能ですか? –