Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Consulta en php

Estas en el tema de Consulta en php en el foro de PHP en Foros del Web. Que tal tengo una pequeña duda acerca de una consulta en php, resulta que obtengo ciertos resultados de una consulta y de esa consulta quiero ...
  #1 (permalink)  
Antiguo 02/11/2013, 12:28
 
Fecha de Ingreso: abril-2009
Mensajes: 100
Antigüedad: 10 años, 7 meses
Puntos: 0
Consulta en php

Que tal tengo una pequeña duda acerca de una consulta en php, resulta que obtengo ciertos resultados de una consulta y de esa consulta quiero buscar otros datos pero no logro hacerlo de la manera correcta, les dejo lo que llevo y explico lo que necesito:

Aqui obtengo 3 id de clientes, 2 de ellos son el mismo pero tienen un campo llamado total que es diferente, la consulta es la siguiente:
Código PHP:
Ver original
  1. if($accion == "cobros"){
  2.     $cobrosInicial = new query;
  3.     $cobrosInicial->validaquery("SELECT * from cobros where fecha_cobro
  4.                             BETWEEN ((select min(fecha_cobro) from cobros where estatusCobro = 0))
  5.                             and DATE_ADD((select min(fecha_cobro) from cobros where estatusCobro = 0), INTERVAL 5 day) ");
  6.     if($cobrosInicial->cantidadreg() > 0){
  7.         $resultado2 = $cobrosInicial->devuelveresult();
  8.         $totFinal = 0;
  9.         while($row2 = mysql_fetch_array($resultado2)){
  10.             //$idorden = $row2['idorden'];
  11.             //$total = $row2['total'];
  12.             //$fecha_cobro = $row2['fecha_cobro'];
  13.             //$tipo_cobro = $row2['tipo_cobro'];
  14.             $id_cliente = $row2['id_cliente'];
  15.             //$estatus_cobro = $row2['estatusCobro'];
  16.             //$fecha_pago = $row2['fecha_pago'];
  17.         }
  18.     }
Esto me devuele los siguientes id de cliente: 14, 14, 5

Ahora lo que necesito es sacar el total de cada cliente, sumar el los 2 totales del cliente 14 y mostrarlo y sacar el total del cliente 5 y mostrarlo pero no se como hacerle para solamente sumar los del cliente 14 y deja aparte el del cliente 5.

La manera de la consulta es diferente porque uso una clase para hacer busquedas en mysql usando php
  #2 (permalink)  
Antiguo 02/11/2013, 13:50
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 11 años, 8 meses
Puntos: 574
Respuesta: Consulta en php

Código MySQL:
Ver original
  1. SELECT id_cliente,SUM(total)
  2. FROM cobros
  3. where fecha_cobro
  4.   BETWEEN ((select min(fecha_cobro) from cobros where estatusCobro = 0))
  5.  and DATE_ADD((select min(fecha_cobro) from cobros where estatusCobro = 0), INTERVAL 5 day)
  6. GROUP BY id_cliente;

Esto te dará lo que buscas....

Si necesitas el resto de campos llamados por *

Yo empezaria por agregar un order by id_cliente a la consulta y asi podrias en el bucle sumar sin peligro de liarte con otros clientes...

Código PHP:
Ver original
  1. if($accion == "cobros"){
  2.         $cobrosInicial = new query;
  3.         $cobrosInicial->validaquery("SELECT * from cobros where fecha_cobro
  4.                                BETWEEN ((select min(fecha_cobro) from cobros where estatusCobro = 0))
  5.                                and DATE_ADD((select min(fecha_cobro) from cobros where estatusCobro = 0), INTERVAL 5 day)
  6. ORDER BY id_cliente ");
  7.         if($cobrosInicial->cantidadreg() > 0){
  8.             $resultado2 = $cobrosInicial->devuelveresult();
  9.             $totFinal = 0;
  10.             $matrizTotales=array();
  11.             $idCliente=0;
  12.             $i=-1;
  13.             while($row2 = mysql_fetch_array($resultado2)){
  14.                 if($row2['id_cliente']!=$idCliente){
  15.                      $i++;
  16.                      $matrizTotales[$i]['id_cliente']=$row2['id_cliente'];
  17.                      $matrizTotales[$i]['total']=$row2['total'];
  18.                      $idCliente=$row2['id_cliente'];
  19.                 }else{
  20.                      $matrizTotales[$i]['total']+=$row2['total'];
  21.                  }
  22.             }
  23.         }
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 02/11/2013 a las 14:11
  #3 (permalink)  
Antiguo 02/11/2013, 14:07
 
Fecha de Ingreso: abril-2009
Mensajes: 100
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Consulta en php

Gracias!! funciona bien

Etiquetas: mysql, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:56.