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

problema al realizar consulta mensual

Estas en el tema de problema al realizar consulta mensual en el foro de Mysql en Foros del Web. Saludos a toda la comunidad resulta que tengo un sistema de información en el que manejo un Kardex mensual con las ventas que se realizan ...
  #1 (permalink)  
Antiguo 02/12/2010, 12:27
 
Fecha de Ingreso: noviembre-2008
Ubicación: En algún lugar del disco duro.
Mensajes: 95
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta problema al realizar consulta mensual

Saludos a toda la comunidad resulta que tengo un sistema de información en el que manejo un Kardex mensual con las ventas que se realizan y funciona bien pero cuando cambia el mes no me arroja nada en pantalla y tampoco me muestra ningun error aqui les dejo el codigo:

Código PHP:
//comenzamos la consulta del kardex mensual --> Consulta kardex_mensual.php
$query_mensual mysql_query("SELECT * FROM mov_servicios INNER JOIN equipos ON serial = serv_serial WHERE 'visible' = 0 AND serv_fecha > DATE_SUB( CURDATE( ) , INTERVAL DAYOFMONTH( CURDATE( ) )DAY )");
$total_registros mysql_num_rows($query_mensual) or die ( "Error en query: $sql, el error  es: " mysql_error() );
$query_mensual mysql_query("SELECT * FROM mov_servicios INNER JOIN equipos ON serial = serv_serial WHERE 'visible' = 0 AND serv_fecha > DATE_SUB( CURDATE( ) , INTERVAL DAYOFMONTH( CURDATE( ) )DAY ) ORDER BY serv_fecha DESC LIMIT $inicio, $registros");
//terminamos la consulta del kardex mensual --> Consulta kardex_mensual.php 
me explico un poco mejor el primer día del mes no me deja ver por ejemplo el kardex semanal para poderlo solucionar me toca deshabilitar el anterior código y hacer una venta y al momento de hacer la primera venta del mes todo vuelve a funcionar de forma correcta a ver si alguien me puede ayudar, gracias de antemano por su colaboración.

Última edición por mariosequeda; 02/12/2010 a las 12:33
  #2 (permalink)  
Antiguo 02/12/2010, 12:34
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: problema al realizar consulta mensual

Saludos

Pensaría que no es tema de la consulta sino de la forma que codificaste

1. el or die debe ir en mysql_query y no en mysql_num_rows, por otro lado como no te va retonar registros la variable total paginas te quedara en 0
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 02/12/2010, 12:37
 
Fecha de Ingreso: noviembre-2008
Ubicación: En algún lugar del disco duro.
Mensajes: 95
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: problema al realizar consulta mensual

Gracias por la respuesta Nano voy a probar y te cuento como me va con eso.
  #4 (permalink)  
Antiguo 02/12/2010, 12:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: problema al realizar consulta mensual

Mira, la condición indicada en las consultas:
Código MySQL:
Ver original 
es operativa en cualquier día del mes,independientemente de si es el primer dóa o el último. No es allí donde falla.
Lo que yo sospecho es que la consulta, ejecutada previamente a cualquier inserción en la tabla mov_servicios simplemente no puede devolver datos porque no existen aún.
Por allí, si lo que quieres es poder hacer un reporte haya o no datos en esa tabla, más que usar INNER JOIN deberías usar LEFT JOIN e invertir el orden de las tablas, de modo que siempre te devuelva la lista de equipos, incluso si no ha habido movimientos.
Algo así:
Código MySQL:
Ver original
  1.     equipos LEFT JOIN
  2.     mov_servicios ON `serial` = serv_serial
  3.   (TRUE OR `serial`IS NULL) AND
  4.   `visible` = 0 AND
  5.   serv_fecha > DATE_SUB(CURDATE(), INTERVAL DAYOFMONTH(CURDATE()) DAY);
Código MySQL:
Ver original
  1.     equipos LEFT JOIN
  2.     mov_servicios ON `serial` = serv_serial
  3.   (TRUE OR `serial`IS NULL) AND
  4.   `visible` = 0 AND
  5.   serv_fecha > DATE_SUB( CURDATE( ) , INTERVAL DAYOFMONTH( CURDATE( ) )DAY )
  6. ORDER BY serv_fecha DESC
  7. LIMIT $inicio, $registros;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 02/12/2010, 12:49
 
Fecha de Ingreso: noviembre-2008
Ubicación: En algún lugar del disco duro.
Mensajes: 95
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: problema al realizar consulta mensual

gracias por tu respuesta gnzsoloyo también probare lo que me dices a ver como me resulta.

Etiquetas: mensual, realizar
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:31.