Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

consulta me trae valores del mes anterior

Estas en el tema de consulta me trae valores del mes anterior en el foro de Mysql en Foros del Web. Saludos a toda la comunidad resulta que tengo una consulta que me muestra un kardex mensual pero con el unico inconveniente de que cuando los ...
  #1 (permalink)  
Antiguo 17/04/2011, 14:33
 
Fecha de Ingreso: noviembre-2008
Ubicación: En algún lugar del disco duro.
Mensajes: 95
Antigüedad: 16 años
Puntos: 0
Pregunta consulta me trae valores del mes anterior

Saludos a toda la comunidad resulta que tengo una consulta que me muestra un kardex mensual pero con el unico inconveniente de que cuando los meses vienen con 31 dias me muestra las operaciones de ese dia en el siguiente mes, me explico.

el mes actual que es abril trae 30 dias y resulta que cuando hago la consulta del mismo no la comienza desde el 01 de abril si no desde el 31 de marzo tal vez sea un error tonto pero he buscado mucho en internet y no he encontrado respuesta.

Código PHP:
$query_mensual mysql_query("SELECT * FROM equipos LEFT JOIN mov_servicios ON serial = serv_serial WHERE (TRUE OR `serial` IS NULL) AND 'visible' = 0 AND serv_fecha > DATE_SUB( CURDATE( ) , INTERVAL DAYOFMONTH( CURDATE( ) )DAY )");
$total_registros mysql_num_rows($query_mensual);
$query_mensual mysql_query("SELECT * FROM equipos LEFT JOIN mov_servicios ON serial = serv_serial WHERE (TRUE OR `serial` IS NULL) AND 'visible' = 0 AND serv_fecha > DATE_SUB( CURDATE( ) , INTERVAL DAYOFMONTH( CURDATE( ) )DAY ) ORDER BY serv_fecha DESC LIMIT $inicio, $registros") or die ( "Error en query: $sql, el error  es: " mysql_error() );
$total_paginas ceil($total_registros $registros); 
  #2 (permalink)  
Antiguo 18/04/2011, 06:14
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
Respuesta: consulta me trae valores del mes anterior

mira esto y prueba jugar un poco con el escript :D
Código PHP:
Ver original
  1. <?php
  2. $start = date('Y-01-01');
  3. $end = date('Y-12-31');
  4. $d = strtotime($start);
  5. $h = strtotime($end);
  6. for($i = $d; $i<= $h; $i +=86400){
  7.     $fecha = date('Y-m-d', $i);
  8.    
  9.     $ciurentday = date('Y-m-d');
  10. $query_mensual = mysql_query("SELECT * FROM equipos LEFT JOIN mov_servicios ON serial = serv_serial WHERE (TRUE OR `serial` IS NULL) AND 'visible' = 0 AND serv_fecha > '$curentday' ");
  11. $total_registros = mysql_num_rows($query_mensual);
  12. $query_mensual = mysql_query("SELECT * FROM equipos LEFT JOIN mov_servicios ON serial = serv_serial WHERE (TRUE OR `serial` IS NULL) AND 'visible' = 0 AND serv_fecha > '$ciurentday' ORDER BY serv_fecha DESC LIMIT $inicio, $registros") or die ( "Error en query: $sql, el error  es: " . mysql_error() );
  13. $total_paginas = ceil($total_registros / $registros);  
  14. }
  15. ?>
__________________
cada vez que aprendes algo te crees que no sabes nada
  #3 (permalink)  
Antiguo 18/04/2011, 12:51
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: consulta me trae valores del mes anterior

No entiendo bien tu idea, pero si quieres traer los registros del mes actual, por qué no lo haces así:
SELECT loquesea FROM tutabla WHERE YEAR(campofecha) = YEAR(CURDATE() AND MONTH(campofecha) = MONTH(CURDATE())

Por otro lado, sí podrías tener problemas con las horas si el servidor está fuera del país cuyo huso horario estás usando.

Etiquetas: anteriores
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 20:31.