Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/04/2014, 13:43
Avatar de armandoweb
armandoweb
 
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 21 años, 3 meses
Puntos: 7
Respuesta: Arrays - agrupar y sumar

Eleazan, entiendo tu punto.
El tema es que el campo productos tengo guardado un array producto|cantidad que está serializado, por lo tanto para utilizar estos datos utilizo primero unserialize().
Luego ya tengo un array par-valor para recorrer con un foreach.
Hasta el momento lo estoy tratando de hacer así:

Código PHP:
$groups = array();
foreach (
$ordersbyuser as $key => $value) { //$ordersbyuser trae la consulta de la base de datos
    
foreach (unserialize($value->products) as $item => $valor){
        if(
$valor != 0){
        
$key $item[0];
        if (!isset(
$groups[$key])) {
            
$groups[$key] = array(
            
'items' => array($item),
            
'count' => $valor,
            );
       } else {
            
$groups[$key]['items'][] = $item;
            
$groups[$key]['count'] += $valor;
       }
       }
    }

Este codigo me arroja lo siguiente:

Código PHP:
array(1) {
  [
"Q"]=>
  array(
2) {
    [
"items"]=>
    array(
3) {
      [
0]=>
      
string(12"Producto 1"
      
[1]=>
      
string(12"Producto 2"
      
[2]=>
      
string(12"Producto 3"
    
}
    [
"count"]=>
    
int(11)
  }

es decir, un array items con los todos los productos y un array count con la cantidad de todos los productos, no el total por producto, que es lo que necesito....
Alguna orientación en que debo modificar?
Gracias!
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]