Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] suma de valores por rango de fecha

Estas en el tema de suma de valores por rango de fecha en el foro de PHP en Foros del Web. Hola a todos, estoy intentando realizar una suma de valores de unos datos de mysql por php pero que dependan de las fecha que yo ...
  #1 (permalink)  
Antiguo 02/10/2014, 08:33
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 8 años
Puntos: 0
Pregunta suma de valores por rango de fecha

Hola a todos, estoy intentando realizar una suma de valores de unos datos de mysql por php pero que dependan de las fecha que yo delimite; pero no se que tengo mal que al delimitarlas no aparece nada, este es mi código:

Código PHP:
Ver original
  1. <?php
  2. $res = mysql_query("SELECT almuerzo FROM entrada where empleado = '".$cedula."' and fecha='2014-09-29' && fecha='2014-09-30'");
  3.  
  4. while($row= mysql_fetch_assoc($res))
  5. {
  6. $total=$total+$row['almuerzo'];
  7. }
  8. echo"<strong><font color='navy'>Total almuerzos: </font>".$total."</strong>";
  9. ?>

Gracias de antemano
  #2 (permalink)  
Antiguo 02/10/2014, 09:58
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 10 años, 2 meses
Puntos: 319
Respuesta: suma de valores por rango de fecha

La consulta esta mal. Debes especificar un rango de fechas y usar la funcion de suma:

Código PHP:
Ver original
  1. $res = mysql_query("SELECT SUM(almuerzo) FROM entrada WHERE empleado = '".$cedula."' AND  fecha BETWEEN '2014-09-29' AND '2014-09-30'");
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #3 (permalink)  
Antiguo 03/10/2014, 09:25
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 8 años
Puntos: 0
Respuesta: suma de valores por rango de fecha

Hola NSD ya procesa pero no arroja resultado real, es decir atendiendo el codigo con la linea que me pasaste da como resultado 0 siendo que debe ser dos... no entiendo :/
  #4 (permalink)  
Antiguo 03/10/2014, 10:34
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 10 años, 2 meses
Puntos: 319
Respuesta: suma de valores por rango de fecha

Podrías poner que datos hay en la tabla ¿ no podemos adivinar
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #5 (permalink)  
Antiguo 06/10/2014, 06:36
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 8 años
Puntos: 0
Respuesta: suma de valores por rango de fecha

Listo me faltó fue delimitar el resultado de la suma, gracias por la ayuda

Código PHP:
Ver original
  1. <?php
  2. $res = mysql_query("SELECT SUM(almuerzo) as resultado FROM entrada WHERE empleado = '".$cedula."' AND  fecha BETWEEN '2014-09-29' AND '2014-10-014'");
  3.  
  4. while($row= mysql_fetch_assoc($res))
  5. {
  6. $total=$total+$row['resultado'];
  7. }
  8. echo"<strong><font color='navy'>Total almuerzos: </font>".$total."</strong>";
  9. ?>
  #6 (permalink)  
Antiguo 06/10/2014, 08:04
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 10 años, 2 meses
Puntos: 319
Respuesta: suma de valores por rango de fecha

No hace falta que hagas el while, justamente mysql hace eso por ti:
Código PHP:
Ver original
  1. <?php
  2. $res = mysql_query("SELECT SUM(almuerzo) as resultado FROM entrada WHERE empleado = '".$cedula."' AND  fecha BETWEEN '2014-09-29' AND '2014-10-014'");
  3. $row= mysql_fetch_assoc($res);
  4. echo"<strong><font color='navy'>Total almuerzos: </font>".$row['resultado']."</strong>";
  5. ?>
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios

Etiquetas: php+bd+mysql
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 00:53.