Ben müşteri adres bilgisi yanında tefrika diziye sipariş detay bilgileri yerleştirerek bir PHP / MySQL e-ticaret sitesi var.
Ben, sipariş öğeleri alanını çekin onu unserialize ve sonra kaç siparişleri belirli bir ürün yapılmış saymak için manipüle edilebilir TÜM sipariş öğelerin bir ana diziye sipariş öğeleri birleştirmek mümkün olmak istiyorum.
Ben dizgilenmemiş satırları print_r zaman diziler gibi görünür. Aşağıda iki sipariş diziler, 3 ürünleri ile tek, ve sadece bir ile ikinci.
Dizi değerleri ID # SKU #, Miktar, Ürün Adı, Fiyat vardır.
Ben bir diziye TÜM emir birleştirmek ve daha sonra her benzersiz ID veya SKU numarası için toplam miktarları özetlemek mümkün olmak istiyorum.
Ben bir şey bu tür veri MySQL temiz ise ölü basit damla olduğunu biliyoruz, ama hayat böyle. Bu dizileri işlemek konusunda herhangi bir düşünce gerçekten mutluluk duyacağız.
Bu durumda 629/01-3600 olanlar miktar değer, şimdi 2 olacak şekilde kombine olmak üzere, 4 diziler ile bitirmek istiyorum
Çok teşekkürler.
Array
(
[0] => Array
(
[1] => 488
[5] => 23-1000
[2] => 3
[3] => PRODUCT NAME
[4] => 2.50
)
[1] => Array
(
[1] => 423
[5] => 24-2300
[2] => 1
[3] => PRODUCT NAME
[4] => 3.50
)
[2] => Array
(
[1] => 506
[5] => 23-2800
[2] => 1
[3] => PRODUCT NAME
[4] => 2.50
)
[3] => Array
(
[1] => 629
[5] => 01-3600
[2] => 1
[3] => PRODUCT NAME
[4] => 7.50
)
)
Array
(
[0] => Array
(
[1] => 629
[5] => 01-3600
[2] => 1
[3] => PRODUCT NAME
[4] => 7.50
)
)
EDIT:
Sonunda ben aradığı şeyi yaptıklarını eklemek istedim
foreach($query->result as $row)
{
$items[] = unserialize( $row['FIELDNAME'] );
}
foreach($items as $item)
{
foreach($item as $order)
{
if( isset($output_array[$order[1]]) )
{
$output_array[$order[1]]['quantity'] += $order[2];
}
else
{
$output_array[$order[1]] = array (
'name' => $order[3],
'quantity' => $order[2],
'sku' => $order[5]
);
}
}
}
Daha sonra miktar sıralamak için bu sıralama işlevi kullanılır: http://www.php.net/manual/en/function.sort.php#99419