Php kullanarak veri birleştirme nasıl

2 Cevap php

Şu anda benim MySQL veri aşağıdaki gibi saklanır

product             | total
------------------------------------------
puma,adidas         | 100.00,125.00     
puma                | 80.00
reebok,adidas,puma  | 70.00,100.00,125.00
adidas,umbro        | 125.00,56.00      

Birleştirmek nasıl patlayabilir birleştirme ve php bu gibi toplam?

puma     485.00
adidas   350.00
reebook  70.00
umbro    56.00

2 Cevap

Ben sonuç kümesi gibi görünüyor bilmiyorum, ama mantık aynı olmalıdır:

$combined = array();
foreach ($results as $result) {
    $productsArr = split(",", $result['product']);
    $totalsArr = split(",", $result['total']);

    // we'll assume both arrays are always the same size
    $prodCount = count($productsArr);
    for($i = 0; $i < $prodCount; $i++) {
        $combined[$productsArr[$i]] += (float)$totalsArr[$i];
    }
}
print_r($combined);

Why the heck is your data structure like that???: Ben veri yapısı hakkında bir sorum var

Söyleniyor, (yinelenen verileri önlemek) veri normalleştirmek için bakmak siparişler ait satır öğeleri, bir ürünler tablo, vb oluşturmak ..

products
--------
id
name
price


orders
------
id
created


order_items
------------
id
order_id
product_id
quantity

Now I can do queries like give me the top 5 largest totals in orders. What's the most popular item I sell? Let me change the name of this product but not have my entire data fall apart.