Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/10/2011, 20:26
goransh_pc
 
Fecha de Ingreso: junio-2011
Mensajes: 80
Antigüedad: 13 años, 6 meses
Puntos: 8
Manipular datos dentro de un LOOP

Hola amigos, aqui una vez mas con otra duda desde ya agradeciendo a todos !!!

tengo la siguiente pregunta, tengo que hacer un reporte que compare cantidades en rangos de fechas. por ejemplo el usuario entra un rango de fecha y debo buscar en la base de datos la marca y el modelo la cantidad que se vendio y compararlo con la misma marca y modelo en el mismo rango de fecha pero del anno anterior. Diferentes clientes pueden comprar distintos modelos y necesito la cantidad que cmpro cada cliente y la suma total de todas las compras de ese modelo

Código PHP:
// $dat1 Fecha inicio y $date2 fecha final

$query mysql_query("SELECT marca, modelo, cliente, qty 
                                   FROM table WHERE date BETWEEN '$date1' AND '$date2'"
);

// debo calcular el mismo rango de fecha para el anno anterior
$date_1y strtotime '-1 year' strtotime $date1 ) ) ;
$date_1y date 'Y-m-j' $date_1y );
// Fecha final
$date_2y strtotime '-1 year' strtotime $date2 ) ) ;
$date_2y date 'Y-m-j' $date_2y );


// Mostrar resutlados.
while($resultado mysql_fetch_array($query)){
    
     
// Obtener valores en variables.
    
$marca $resultado['marca'];
    
$modelo $resultado['modelo'];
    
$cliente $resultado['cliente'];
    
$cantidad $resultado['qty'];

    
// Mostrar los resultado en una tabla.
    
echo "<table><tr>";
    echo 
"<td>Marca</td>";
    echo 
"<td>Modelo</td>";
    echo 
"<td>Cliente</td>";
    echo 
"<td>Qty-1</td>";
    echo 
"<td>Qty-2</td>";
    echo 
"<td>Diferencia</td>";
    echo 
"</tr><tr>"
    
echo "<td>".$marca"</td>";
    echo 
"<td>".$modelo"</td>"
    echo 
"<td>".$cliente"</td>";
    echo 
"<td>".$qty"</td>";
    
// Buscar la misma marca y modelo pero en el anno anterior
   
$query2 mysql_query("SELECT qty FROM table 
                                        WHERE date    BETWWEN $date_1y AND $date_2y
                                        AND marca = '$marca'
                                        AND modelo='$modelo'
                                        AND cliente = '$cliente'"
);
    
$qty_2 mysql_fetch_array($query2);
   
   
// Mostrar cantidad del anno anterior.
   
echo "<td>".$qty_2['qty']."</td>";
   echo 
"<td>".$qty $qty2."</td>";
   

   
// AQUI ES MI DUDA. Cuando termine un modelo hacer una suma total.
   
   // terminr la tabla. 
   
echo "</tr></table>";

Pregunta: Como puedo manipular los datos dentro del loop while que le pueda decir a mi programa cuando acabe un modelo sumame la cantidad por anno, primero actual y despues anno anterior y devuelveme el valor ??

Quisiera obtener algo asi:

-----------------------------------------------------------------
Marca | Modelo | Cliente | Qty1 | Qty2 | Diferencia |
-----------------------------------------------------------------
1 | 1.1 | A | 30 | 20 | +10 |
1 | 1.1 | B | 20 | 40 | -20 |
1 | 1.1 | C | 50 | 10 | +40 |
-----------------------------------------------------------------
Total Marca: 1 Modelo: 1.1 | 100 | 70 | +30 |
-----------------------------------------------------------------
1 | 1.2 | A | 20 | 10 | +10 |
1 | 1.2 | C | 30 | 40 | -10 |
-----------------------------------------------------------------
Total marca: 1 Modelo: 1.2| 50 | 50 | 0 |
-----------------------------------------------------------------


Muchas Gracias a todos de antemano !!!!