Foros del Web » Programando para Internet » PHP »

Entre fechas!

Estas en el tema de Entre fechas! en el foro de PHP en Foros del Web. Bueno, tengo dos dudas... 1. Debo hacer una consulta entre frechas.. desde - hasta... en desde va la fecha de inicio de búsqueda y en ...
  #1 (permalink)  
Antiguo 28/05/2004, 08:59
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 22 años
Puntos: 1
Mensaje Entre fechas!

Bueno, tengo dos dudas...

1. Debo hacer una consulta entre frechas.. desde - hasta... en desde va la fecha de inicio de búsqueda y en hasta.. el último criterio del query.. ahora.. bien tomo las fecha y valido que desde < hasta y si es asi proceso a hacer el query... y no sé bien como debo poner el where dentro de query para que me busque en ese rango desde hasta....

2. Estoy haciendo la traducción de una aplicación, los dias me salen en ingés, pero es por el formato que tengo de salida, estuve leyendo que puedo cambiar el formato de salida pero no me resulta... que será??..

esta es la sálida en la aplicación
<?=date("l, F j, Y")?>
así que me imprime la fecha pero en inglés.. consultando encontre esta función..

<?setlocale (LC_TIME,"spanish");?>
<?=date("l, F j, Y")?>

setlocate que me dice como debe mostrarme la salida.. según entiendo es asi.. pero me sigue saliendo igual en inglés.. que tengo mal??
  #2 (permalink)  
Antiguo 28/05/2004, 13:01
Avatar de Torus  
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 22 años, 10 meses
Puntos: 0
Hola Salome
Intentalo de esta manera a mi me da resultado
Código PHP:
date("d-m-Y "
Saludos
__________________
Hay tanto que aprender y tan poco tiempo

Última edición por Torus; 28/05/2004 a las 13:04
  #3 (permalink)  
Antiguo 28/05/2004, 13:27
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 2 meses
Puntos: 41
No sé si te estoy entendiendo bien... pero para buscar entre dos fechas bastará con hacer:
Código PHP:
$sql "SELECT * FROM tabla WHERE campoFecha>$desde AND campoFecha<$hasta"
Saludos
  #4 (permalink)  
Antiguo 28/05/2004, 14:44
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 22 años
Puntos: 1
Información

mmm hablo de between como para optimizar la consulta...

<, <=, =, >=, > y BETWEEN.

estuve leyendo y bueno con esto de las fechas o podriamos hablar de otras variables o valores.

BETWEEN lo utilizamos para extraer registros "entre x".
Vamos a seleccionar los registros que esten entre los nombre Juan y Pedro de la tabla alumnos:
SELECT nombre FROM alumnos WHERE nombre BETWEEN 'Juan' AND 'Pedro'.

Aqui podemos utilizar también la clausula NOT:

SELECT nombre FROM alumnos WHERE nombre NOT BETWEEN 'Juan' AND 'Pedro'
  #5 (permalink)  
Antiguo 28/05/2004, 22:29
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 2 meses
Puntos: 41
Ok... entonces... igual no veo el problema...
Código PHP:
$sql "SELECT * FROM tabla WHERE campoFecha BETWEEN '$desde' AND '$hasta'"
¿ $desde y $hasta tienen el formato del tipo DATE de Mysql (yyyy-mm-dd)?

El manual dice:
Cita:
This is equivalent to the expression (min <= expr AND expr <= max) if all the arguments are of the same type.
http://dev.mysql.com/doc/mysql/en/Co...Operators.html

Si no.... pon la forma cómo lo estás haciendo tú... y el formato que tienen esas variables $desde y $hasta. Ah.. y también el tipo de dato con el que guardas las variables en tu BD.

Saludos

Última edición por jpinedo; 28/05/2004 a las 23:00
  #6 (permalink)  
Antiguo 31/05/2004, 07:17
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 22 años
Puntos: 1
grazie... pero el problema ya lo tenia resuelto, lo que puse fué la solución que di.. ahora tengo otra pregunta..

Como hago para hacer una consulta que filtre por los datos de ese mes... por decir algo.. ingreso hoy a mayo y me liste los datos por todo el mes de mayo???...

Un saludo... Adeu..
  #7 (permalink)  
Antiguo 31/05/2004, 18:16
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 2 meses
Puntos: 41
Otra vez al manual de mysql (estas preguntascreo que son del otro foro)
http://dev.mysql.com/doc/mysql/en/Da...functions.html

Ahí verás la función MONTH(campo_fecha).
Para utilizarla sería como:
Código PHP:
$sql="SELECT * FROM tabla WHERE MONTH(campo_fecha) = '$mes_actual'"
No sé si será lo que quieres.

Saludos
  #8 (permalink)  
Antiguo 01/06/2004, 09:11
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 22 años
Puntos: 1
efectivamente gracias

Código PHP:
$mes_actual date("m");
$sql="SELECT * FROM tabla WHERE MONTH(campo_fecha) = '$mes_actual'"
  #9 (permalink)  
Antiguo 01/06/2004, 12:57
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 22 años
Puntos: 1
también resolví el problemon de la traducción de la fecha....

Código PHP:
setlocale (LC_TIME,"spanish");
$fecha str_replace("De","de",ucwords(strftime(", %B de %Y")));
echo 
$fecha
Pues bueno asi solamente, me muestra el mes en español con un de.. asi Junio de 2004

si quiero ver toda la cadena completa, dia, mes y año, todo en español se hace lo siguiente:
Código PHP:
<?
setlocale 
(LC_TIME,"spanish");
$fechastr_replace("De","de",ucwords(strftime("%A, %d de %B de %Y")));
echo 
$fecha;
?>
Bueno.. espero les sirva de algo..

un saludo...
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 14:07.