buscar fecha por rango

Iniciado por RedZer, 5 Diciembre 2010, 20:50 PM

0 Miembros y 1 Visitante están viendo este tema.

RedZer

hola amigos tengo la siguiente duda necesito buscar en una tabla por rango de fechas, tengo dividida la fecha en 3 campos: dia(INT)2 - mes(INT)2 y año(INT)4, en el formulario tengo 2 cajas de texto 1 para la fecha 1 y otra para la fecha 2 los cuales tienen su propio calendario al momento de enviar los datos asia otra pagina que se llama consulta.php yo descompongo la fecha uno y fecha dos osea los divido en dias,mes y años de la siguiente forma:

Código (php) [Seleccionar]


$fecha=$_POST['fecha'];
$fecha2=$_POST['fecha2'];
//separo la fecha para realizar consulta
list($mes,$dia,$ano) = explode("/",$fecha);
list($mes2,$dia2,$ano2) = explode("/",$fecha2);

//elimino ceros ala izquierda del dia 1
$cadena=$dia;
$cadena=(string)(int)$cadena;

//elimino ceros ala izquierda del dia 2
$cadena3=$dia2;
$cadena3=(string)(int)$cadena3;
//fin de ceros

elimino ceros ala quierda del dia por que en mi tabla tengo el dia lo tengo con los numeros enteros ok ahora quiza ustedes me digan que no es optimo lo que estoy asiendo el separar la fecha en tres partes lo que pasa es que yo manejo una agenda que esta echo con php(poo),jquery,ajax lo baje ya prediseñada y pues esta programada orientada a objetos y yo en eso aun no le entiendo al todo y se me iso mas facil separar las fechas para asi hacer mis respectivas operaciones una de eyas es esto lo que quiero hacer una consulta ejemplo
quiero mostrar los registros que se ayan dado de alta del dia
13/12/2010 al 2/02/2011
esta consulta me muestra los registros que se encuentren en el rango de estas dos fechas yo lo estaba asiendo asi de la siguiente forma mi consulta era esta

Código (php) [Seleccionar]


conectar();
$reporte=mysql_query("select * FROM reporte  where dia>=$cadena and dia<=$cadena3 ");
desconectar();

con eso yo asia el reporte por dia, pero como pueden ver en el eje,mplo que les plantie entrarian tambien los años y los meses como le podria hacer??
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo

seele

puedes usar between en mysql para resolver tu problema

http://www.tutorialspoint.com/mysql/mysql-between-clause.htm

cualquier duda pregunta

saludos