Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/04/2011, 13:06
Avatar de ESNOLA
ESNOLA
 
Fecha de Ingreso: octubre-2006
Mensajes: 188
Antigüedad: 17 años, 6 meses
Puntos: 20
Respuesta: consultar precio de un array desde un select y calcular

Hola carlos2

Te explico:

la primera parte hace referencia al tipo ( basico o intensivo)
Código PHP:
  $coefiTipo =  2;
      if(
$tipo == "basico")
        
$coefiTipo 1
Tiene que tener un valor, en principio 2 a no ser que la función reciba basico en cuyo caso vale 1.

Segunda parte, lo mismo
Código PHP:
  $coefiAloja 0;
      if(
$alojamiento == "compartido")
        
$coefiAloja 1;
      if(
$alojamiento == "individual")
         
$coefiAloja 2
En principio se establece en que no quiere alojamiento 0 a no ser que al recibir el valor de la variable $alojamiento diga otra cosa en cuyo caso pasa a 1 o 2 según corresponda lo que diga el if

Exactamente igual con la temporada, al cual se le estableció un valor inicial 3 y después según digan los condicionales en funcion del valor recibido por la variable recibida

Pues ahora tenemos 100 * (tipo + alojamiento + temporada) * semanas.

Verás que según vayan variando los valores de tipo, alojamiento y/o temporada (y por supuesto las semanas) irá variando devidamente el valor del curso.
No tienes mas que hacer una prueba y en el código php que has puesto quitas

Código PHP:
if($curso='basico'){

$precioCurso = array( 
        
0=>100
        
1=>200,
    
2=>300
        
);
}else{

$precioCurso = array( 
        
0=>200
        
1=>400,
    
2=>600
        
);
}

if(
$alojamiento='compartido'){

$precioAlojamiento = array( 
        
0=>100
        
1=>200
        
2=>300
        
);
}

if(
$alojamiento='individual'){

$precioAlojamiento = array( 
        
0=>200
        
1=>400
        
2=>600
        
);
}

if(
$alojamiento='sinalojamiento'){

$precioAlojamiento 0;

}



if (
$temporada='baja'){
    
$totalCurso=$precioCurso[0];
    
$totalAlojamiento=$precioAlojamiento[0];
}

if (
$temporada='media'){
    
$totalCurso=$precioCurso[1];
    
$totalAlojamiento=$precioAlojamiento[1];
}

if (
$temporada='alta'){
    
$totalCurso=$precioCurso[2];
    
$totalAlojamiento=$precioAlojamiento[2];
}

$total=($totalCurso+$totalAlojamiento)*$semanas
y pones lo que te he puesto yo:
Código PHP:
Ver original
  1. function calculoPrecios($tipo, $alojamiento, $semanas, $temporada){
  2.            
  3.       $coefiTipo =  2;
  4.       if($tipo == "basico")
  5.         $coefiTipo = 1;
  6.      
  7.       $coefiAloja = 0;
  8.       if($alojamiento == "compartido")
  9.         $coefiAloja = 1;
  10.       if($alojamiento == "individual")
  11.          $coefiAloja = 2;  
  12.          
  13.      $coefiTempora = 3;
  14.      if($temporada == "baja")
  15.        $coefiTempora = 1;
  16.      if($temporada == "media")  
  17.        $coefiTempora = 2;
  18.          
  19.       $precioTotal = 100 * ($coefiTipo + $coefiAloja + $coefiTempora) * $semanas;
  20.      
  21.        return $precioTotal;
  22.    
  23. }
  24.  
  25.  echo calculoPrecios($curso, $alojamiento, $semanas, $temporada)


Realizas varias pruebas y ya dirás.

en el caso de ser con arrays y otros precios sin ser multiplos de nada no habría mas que adaptar los valores recibidos para tomar datos de los arrays y aplicarlos a los precios.