Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/07/2003, 08:40
Avatar de Manoloweb
Manoloweb
 
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Pues no creo que sea necesario hacer otra tabla para las fechas sin servicio... simplemente un registro más en la misma tabla...


id|nombretarifa|fecha_inicio|fecha_final|tarifa|Se rvicio
1|'verano 2003'|20030515|20030801|550|SI
2|'Otoño 2003'|20030802|20031215|480|SI
3|'Fuera de Ser'|20031213|20040201|0|NO

Y puedes cambiar el código mas o menos así...

Código PHP:
<?
// Te conectas a la BD

$fecha1=20030727;
$fecha2=20030805;
// Estas fechas son las que traes de los campos...
// Procura que esten en el formato YYYYMMDD

$dif=((strtotime($fecha2))-(strtotime($fecha1)))/86400;
$tarifa=0;
$mensaje="";
for (
$i=0;$$i<$dif;$i++){
    
$qr_tarifa=mysql_query("select * from tarifas where fecha_inicio>=($fecha1 + interval $i day) and fecha_final<=('$fecha1' + interval $i day)");
    
$rs_tarifa=mysql_fetch_array($qr_tarifa);
    if (
$rs_tarifa["Servicio"]=="NO"){
        
$tarifa=0;
        
$mensaje="Lo sentimos, para algunas fechas seleccionadas no hay servicio, por favor intentelo de nuevo";
        break;
    }
    
$tarifa +=$rs_tarifa["tarifa"];
}
$mensaje=($mensaje=="")?"A continuacion le presentamos la tarifa para las fechas seleccionadas" $mensaje;
echo 
$mensaje;
echo 
"Tarifa total: ".$tarifa;
?>

Bueno parece que eso es todo lo que se me ocurre
__________________
Manoloweb