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

Sacar los eventos previstos para un mes.

Estas en el tema de Sacar los eventos previstos para un mes. en el foro de Mysql en Foros del Web. Hola a todos tengo en una base de datos un eventos con un campo datetime y me gustaria sacar los eventos previstos para el mes ...
  #1 (permalink)  
Antiguo 18/01/2006, 03:01
 
Fecha de Ingreso: octubre-2003
Mensajes: 364
Antigüedad: 20 años, 6 meses
Puntos: 1
Sacar los eventos previstos para un mes.

Hola a todos tengo en una base de datos un eventos con un campo datetime y me gustaria sacar los eventos previstos para el mes en el que nos encontramos. Por ejemplo si estamos en Enero sacar los Eventos para Enero. Pero no tengo muxa idea de como hacerlo. ¿Alguien me puede guiar un poco?

Gracias por vuestra ayuda.
  #2 (permalink)  
Antiguo 18/01/2006, 03:20
 
Fecha de Ingreso: junio-2005
Ubicación: Madrid, España
Mensajes: 288
Antigüedad: 18 años, 9 meses
Puntos: 1
comprueba la fecha del dia de hoy y la comparas con la de la BBDD
  #3 (permalink)  
Antiguo 18/01/2006, 03:41
 
Fecha de Ingreso: octubre-2003
Mensajes: 364
Antigüedad: 20 años, 6 meses
Puntos: 1
Si, pero komo comparo sólo el mes ;)
  #4 (permalink)  
Antiguo 18/01/2006, 03:50
 
Fecha de Ingreso: junio-2005
Ubicación: Madrid, España
Mensajes: 288
Antigüedad: 18 años, 9 meses
Puntos: 1
mirate la funcion explode que te ayudara que no me voy a poner a decirte como lo tienes que hacer que esto es para resolver dudas no para que los demas hagan tu trabajo
  #5 (permalink)  
Antiguo 18/01/2006, 04:02
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Agrey, por favor lee esto: http://www.forosdelweb.com/f18/como-preguntar-foro-php-cosas-tener-cuenta-295415/

¿Cuál es tu situación?, de pronto existen 2 posibilidades:

1. Registros desde el comienzo del "presente mes" hasta el "día de hoy"; 01/01/2006 -> 18/01/2006

2. Resgistros del presente mes; "todo Enero"

... Ve el uso de la fución DATE_SUB() y/o DATE_ADD() y la condicional BETWEEN, todo eso de SQL (más óptimo, no es necesario PHP).

http://dev.mysql.com/doc/refman/4.1/...functions.html

Tema movido desde PHP .
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 18/01/2006, 05:45
 
Fecha de Ingreso: octubre-2003
Mensajes: 364
Antigüedad: 20 años, 6 meses
Puntos: 1
Gracias, no pretendia que hicieras mi trabajo, simplemente queria saber como comparo dentro de la select los valores que sea todo Enero.

Le echare un ojo a las funciones y al Berteen. Gracias.
  #7 (permalink)  
Antiguo 18/01/2006, 06:35
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Simple. Prueba con:
Código:
SELECT * FROM tabla WHERE MONTH(CURDATE()) = MONTH(tuCampo_datetime)
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 18/01/2006, 07:18
 
Fecha de Ingreso: octubre-2003
Mensajes: 364
Antigüedad: 20 años, 6 meses
Puntos: 1
Gracias, me ha servido
  #9 (permalink)  
Antiguo 04/10/2006, 18:15
Avatar de SkyWalker  
Fecha de Ingreso: enero-2002
Mensajes: 39
Antigüedad: 22 años, 3 meses
Puntos: 0
Hola, yo intento algo parecido pero con la fecha (yyyy-mm-dd) en vez de querer un mes quiero un dia.

Lo que hago es lo siguiente: (campo es DATETIME)
Código:
SELECT * 
FROM tabla
WHERE campo >= '2006-10-04 00:00:00' AND campo <= '2006-10-04 23:59:59'
y listo

Lo he intentao de muchas otras formas pero es imposible por lo menos para mi... hay algo más sencillo? es por curiosidad... mi idea primera era convertir campo a un tipo date y simplemente comparar:

Código:
SELECT * FROM tabla WHERE DATE(campo) = '2006-10-04'
También intenté:

Código:
SELECT  * FROM tabla WHERE DATE_SUB( '2006-10-04 00:00:00', '1' DAY)  = campo
también con DATE_ADD (este suma y SUB resta??)...en fin nada.


Y BETWEEN porque en el manual de referencia de mysql no veo na (lo mismo no busco bien...), tampoco he buscao mucho en el foro sobre BETWEEN

¿Funciona asi? ... a mi no

Código:
SELECT  * 
FROM tabla
WHERE campo =  '2006-10-04 00:00:00'
BETWEEN  campo = '2006-10-04 23:59:59'
o
Código:
SELECT  * 
FROM tabla
WHERE campo =  '2006-10-04 00:00:00'
BETWEEN  '2006-10-04 23:59:59'

Gracias de antemano por la lección makinas!
Por cierto que editor WYSIWYG este que usamos en el foro más molón se puede pillar gratis???

Última edición por SkyWalker; 04/10/2006 a las 18:21
  #10 (permalink)  
Antiguo 05/10/2006, 05:16
 
Fecha de Ingreso: octubre-2006
Mensajes: 30
Antigüedad: 17 años, 6 meses
Puntos: 0
Veamos

SELECT *
FROM tabla
WHERE campoX between fecha1 AND fecha2


Este es el uso correcto del between
  #11 (permalink)  
Antiguo 05/10/2006, 13:34
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
Iniciado por SkyWalker Ver Mensaje
mi idea primera era convertir campo a un tipo date y simplemente comparar:
¿Y qué problemas hubo con ello?; creo es la mejor opción
Código:
SELECT campos FROM tabla WHERE DATE(campo_datetime) = CURDATE()
Cita:
Iniciado por SkyWalker Ver Mensaje
Y BETWEEN porque en el manual de referencia de mysql no veo na (lo mismo no busco bien...)
Lo segundo http://dev.mysql.com/doc/refman/5.0/...operators.html

Respecto al editor... por favor, órden en los temas, eso ni siquiera tiene que ver con MySQL. Crea un nuevo tema --en el foro correspondiente--

Saluton
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #12 (permalink)  
Antiguo 07/10/2006, 04:49
Avatar de SkyWalker  
Fecha de Ingreso: enero-2002
Mensajes: 39
Antigüedad: 22 años, 3 meses
Puntos: 0
Pues si tengo problema... este es el mensaje de error:

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '( date_alta ) = '2006-10-04' LIMIT 0, 30' at line 3

Esta era la consulta:
Código:
SELECT * 
FROM listadecorreo
WHERE DATE( date_alta ) = '2006-10-04'
y esta la que me propones:
Código:
SELECT * 
FROM listadecorreo
WHERE DATE( date_alta ) = CURDATE( )
que me da el mismo fallo...

bueno no me caliento más la cabeza me funciona de la otra forma, gracias de todos modos.

En cuanto al editor no creo que sea tan importante para mi como para abrir un hilo, senti curiosidad porque me gustó mientras escribía el otro post. Si me lo dicen estupendo si no pos na... no hay que ser tan frios y estrictos en dónde y qué se debe poner.. vamos pienso yo, si además de poner mi cuestion en donde debo y pregunto qué tal tiempo hace en Lima creo que tampoco pasa na, quizás sea más ameno el foro ... aunque claro esto no es tema para discutir aki!

Gracias por to, saludos!
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:02.