Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/08/2013, 01:46
bathorz
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 11 años, 6 meses
Puntos: 29
Respuesta: Pintar rango de una fecha a otra

Espero que esto te ayude.

*** Elementos para la prueba ***
Código SQL:
Ver original
  1. -- Base de datos: `test`
  2. CREATE TABLE IF NOT EXISTS `eventos` (
  3. `id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
  4. `fecha_inicio` DATE DEFAULT NULL ,
  5. `fecha_fin` DATE DEFAULT NULL ,
  6. `evento` VARCHAR( 20 ) COLLATE utf8_spanish_ci DEFAULT NULL ,
  7. PRIMARY KEY ( `id` )
  8. ) ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_spanish_ci AUTO_INCREMENT =1
  9.  
  10. INSERT INTO `test`.`eventos` (`id`, `fecha_inicio`, `fecha_fin`, `evento`) VALUES ('1', '2013-08-05', '2013-08-23', 'evento 1');

*** Se selecciona una fecha ***
Código PHP:
Ver original
  1. $fechas['fecha_selec'] = '2013-08-20';

*** ¿hay eventos en esa fecha? ***
2013-08-05 ¿está dentro del rango inicio/fin de los eventos?
Código PHP:
Ver original
  1. $sql = "SELECT * FROM eventos
  2. WHERE
  3. '".$fechas['fecha_selec']."'
  4. BETWEEN
  5. fecha_inicio
  6. AND
  7. fecha_fin;";
  8.  
  9. $query = mysql_query($sql);
  10. $rst = mysql_fetch_array($query,MYSQL_ASSOC);
  11. var_dump($rst);

* Rdo con: '2013-08-20'
Código PHP:
Ver original
  1. array(4) {
  2. ["id"]=> string(1) "1"
  3. ["fecha_inicio"]=> string(10) "2013-08-05"
  4. ["fecha_fin"]=> string(10) "2013-08-23"
  5. ["evento"]=> string(8) "evento 1"
  6. }

* Rdo con fechas: '2013-08-04' y '2013-08-24'
Código PHP:
Ver original
  1. bool(false)