Ver Mensaje Individual
  #7 (permalink)  
Antiguo 07/03/2015, 17:48
volaveruntmissit
 
Fecha de Ingreso: octubre-2012
Mensajes: 45
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: no me funciona el codigo este

Voy a hacer un poco mas simple tu codigo, sobre todo en las condicionales de los dias, y de esta forma me funciona perfecto cuando es festivo y cuando no es festivo, en realidad fue la unica prueba que hice, pero tu codigo está bien, lo que no está bien es como lo estás haciendo, y eso es cosa de lógica propia, osea analiza a fondo tus condicionales.

Digamos que, tienes 2 letras... Y - Z

Tu le dices al codigo "Si es -Y- haz esto" - o le dices "Si no es -Y- haz lo otro",

Definitivamente no le puedes decir "Si es -Y- haz esto" - y tambien decirle "Si no es -Z- haz lo otro" ... Analizalo, de esta forma ambas condiciones te dirijen a la -Y- aunque en una menciones a la Z... Me explico?

Bueno, aqui un ejemplo de como condicionar directamente si es festivo o no es festivo cuando se trata de dias entre semana...

Código PHP:
Ver original
  1. $cadena1 = "lunes martes miercoles jueves viernes";
  2. if(preg_match('/'.$_POST["dias"].'/', $cadena1) && $festivo != "si") { $festivo = "no"; } else { $festivo = "si"; }
  3.  
  4.  
  5. // esto es tarifa urbana por que no pasa de 5km y es tarifa normal por ser un dia laboral.     
  6. if ($festivo=="no" && $km<6 )      
  7.         {
  8.             $urbano_normal2 = $precio_urbano_normal + $tarifanormal;
  9.             echo "su viaje es el $dia  es tarifa urbana normal hay $km KMs  el precio es de   $urbano_normal2 €.<br>";
  10.         }
  11.  
  12.  
  13. // esto es tarifa urbana por que no pasa de 5km y es tarifa festivo por puede ser un dia festivo.  
  14. elseif ($festivo=="si" && $km<6 )      
  15.        
  16.         {
  17.             $festivo_urbano1 = $precio_urbano_festivo + $tarifafestivo;
  18.             echo "su viaje es el $dia a las $hora es festivo hay $km KMs  el precio es de   $festivo_urbano1 €.<br>";
  19.         }

Cuando los kilometros son menores a 5, no uses "$Km<5", usa "$Km<6" por que si usas un "<5" le estas diciendo que es de "4" hacia abajo, y el 5 no te lo recibe.


En la hora yo te recomiendo usar numeros unicos, no usaria 24h , yo smplemente pondria 24

Cita:
<option value="12">12:00</option>
<option value="13">13:00</option>
..
..
..
<option value="01">1:00</option>
<option value="02">2:00</option>
De esta forma capturas los numeros y los comparas en tus condiciones.


Lo demas es cosa tuya, ya te dije cual es la falla, pero hacerte todo el codigo no me gustaria... De todos modos, espero haberte aclarado el problema... Saludos!!

Última edición por volaveruntmissit; 07/03/2015 a las 17:53