Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: RedZer en 5 Diciembre 2010, 20:50 pm



Título: buscar fecha por rango
Publicado por: RedZer en 5 Diciembre 2010, 20:50 pm
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
  1.  
  2. $fecha=$_POST['fecha'];
  3. $fecha2=$_POST['fecha2'];
  4. //separo la fecha para realizar consulta
  5. list($mes,$dia,$ano) = explode("/",$fecha);
  6. list($mes2,$dia2,$ano2) = explode("/",$fecha2);
  7.  
  8. //elimino ceros ala izquierda del dia 1
  9. $cadena=$dia;
  10. $cadena=(string)(int)$cadena;
  11.  
  12. //elimino ceros ala izquierda del dia 2
  13. $cadena3=$dia2;
  14. $cadena3=(string)(int)$cadena3;
  15. //fin de ceros
  16.  
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
  1.  
  2. conectar();
  3. $reporte=mysql_query("select * FROM reporte  where dia>=$cadena and dia<=$cadena3 ");
  4. desconectar();
  5.  
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??


Título: Re: buscar fecha por rango
Publicado por: seele en 6 Diciembre 2010, 12:44 pm
puedes usar between en mysql para resolver tu problema

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

cualquier duda pregunta

saludos