Foros del Web » Programando para Internet » PHP »

Hacer busqueda entre dos valores

Estas en el tema de Hacer busqueda entre dos valores en el foro de PHP en Foros del Web. Buenas tardes como estan?? tengo el siguiente inconveninete, tengo una base de datos de registros de usuario donde estan los datos basicos de la persona ...
  #1 (permalink)  
Antiguo 19/03/2008, 12:53
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta Hacer busqueda entre dos valores

Buenas tardes como estan?? tengo el siguiente inconveninete, tengo una base de datos de registros de usuario donde estan los datos basicos de la persona mas la fecha en la que hace la inscripcion. El problema que tengo es el siguiente:
1.- Necesito hacer una busqueda entre rangos de N° de id. por ejmplo recuperar los datos entre el 5 y 15 incluyendo estos.
2.- Necesito recuperar los datos entre dos fechas incluyendo estas, por ejemplo las personas inscritas entre el 01-03-08 al 15-03-08.

En id lo tengo como un campo de autoincrement y la fecha como un varchar ya que hice dentro del campo lo siguiente
Código PHP:
<?php setlocale(LC_TIME,"esp_ESP"); echo strftime("%x");   ?>
por lo que me carga la fecha actual en formato latino y no el americano (YY-MM-DD o MM-DD-YY).

Hice varios intentos a fin de localizar la manera de que la busqueda diera resultado pero aun no lo logro. Por ejemplo, coloque dos textdield dentro del formulario para que la persona ingresara las fechas por las que quiere buscar, cargue estos valores en dos variables $fecha1 y $fecha2 y en el query lo hacia de la siguiente manera
Código PHP:
<?php 
include "conexion.php";
$fecha1=$_POST['fecha1'];
$fecha2=$_POST['fecha2'];

$sql="select * from TABLA fecha=$fecha1<=fecha2";
$consulta=mysql_query($sql,$conexion);
?>
La verdad es que no estoy muy seguro si el query lo puedo desarrollar de esa manera ya que soy nuevo en php y aun me estoy dando los golpes . Alguien que me pueda ayudar.

Gracias
  #2 (permalink)  
Antiguo 19/03/2008, 13:23
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: Hacer busqueda entre dos valores

Necesitas urgente un curso de SQL y si es de MySQL mejor. Bueno para el caso, solo usa la sentencia: BETWEEN de este modo:

$sql = "select * from TABLA where fecha BETWEEN '$fecha1' AND '$fecha2'";

En primer lugar debes colocar la sentencia where para buscar y en segundo lugar debes encerrar las fechas entre comillas. Amigo, búscate un manual de MySQL, no hagas las cosas a ciegas.
  #3 (permalink)  
Antiguo 19/03/2008, 14:34
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Hacer busqueda entre dos valores

Cita:
Iniciado por ElJavista Ver Mensaje
Necesitas urgente un curso de SQL y si es de MySQL mejor. Bueno para el caso, solo usa la sentencia: BETWEEN de este modo:

$sql = "select * from TABLA where fecha BETWEEN '$fecha1' AND '$fecha2'";

En primer lugar debes colocar la sentencia where para buscar y en segundo lugar debes encerrar las fechas entre comillas. Amigo, búscate un manual de MySQL, no hagas las cosas a ciegas.

Gracia spor la solucion, efectivamente ahora es que me hace falta para programar bien bien en php pero tampoco tengo errores tan fuertes como el caso de where ya que fue error mio al no transcribirlo en la consulta que hice. Ahora no encierro la variable de fecha entre las comillas porque no entiendo la razon pero entra en conflicto con una clase que estoy usando para paginar los resultados de la busqueda. Hice el query sin la clase y me funciona perfectamente pero cuando le configure la clase me daba error hasta que por probar le quite las comillas a la variable y funciono. Gracias igual por tu respuesta
  #4 (permalink)  
Antiguo 19/03/2008, 15:29
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: Hacer busqueda entre dos valores

En serio funcionó sin las comillas??? honestamente me sorprende mucho, pero si quieres saber la razón por la cual necesita comillas pues te diré que en todos los lenguajes de programación los únicos datos que no necesitan comillas son los numéricos y los boleanos (que también son numéricos).
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 12:32.