2011-08-02 75 views
0

你好具有2代表這樣組查詢分成子陣列

TABLE products_ids 

id_product_unique 
1 
2 


TABLE products_list 
id_product  id_product_unique lang price 
5    2     en  1.00 
65    2     es  44.15 
51    1     en  53.5 
9    1     es  6.20 

將有可能創造MySQL中的結果僅將創造任何id_product_unique陣列具有2子陣列爲「EN」郎每一個和「ES」朗或我必須用PHP來處理數據以獲得如此個性化的結果?

例如

[0]{ 
    id_product_unique -> 1 

     [0]{ 
      [id_product]-> 5 
      [price] -> 1.00 
      [lang] -> en 
     } 

     [1]{ 

      [id_product]-> 65 
      [price] -> 44.15 
      [lang] -> es 
     } 

    } 
[1] 
    [id_product_unique]-> 2 

// and so on 

回答

1

不,不,僅在MySQL。 MySQL處理簡單行&列,甚至不知道PHP數組是什麼。只需循環一次。

0
在PHP

可以使用

<?php 

$reformated = null; 
foreach ($raw as $key => $value) { 
    $reformated[$value['id_product_unique']] = array_merge(
    (array)$reformated[$value['id_product_unique']], 
    array(array('price'=>$value['price'], 'lag'=>$value['lang'], 'id_product'=>$value['id_product'])) 
    ); 
} 
print_r($reformated)."\n\n";