Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/04/2011, 11:22
carlos2
 
Fecha de Ingreso: mayo-2005
Mensajes: 92
Antigüedad: 19 años, 9 meses
Puntos: 2
Respuesta: Calcular en función a fechas

Hola Perro, muchas gracias por tu ayuda... ya habrás que no soy muy ducho con esto de la programación. Estoy empezando y no se realmente que me conviene más.. si JS o PHP... los calculos que tengo que hacer en este formulario son muy básicos la verdad... pero me interesa que la gente lo pueda ver en la pantalla dependiendo del producto que escojan...

He estado dándole una vuelta y la verdad que no me entero muy bien principalmente porque, creo, planteo mal el problema... He llegado hasta aquí:

- Del primer select recojo una variable ($curso), que puede devolver "basico" o "intensivo"

- Si el valor es "basico", la variable $precioCurso la defino como un array con 3 campos (que dependerá de la temporada).

- Si el valor es "intensivo", a la misma variable $precioCurso la defino también como un array de tres campos, pero con otros valores.

- Hago lo mismo con la variable $alojamiento y el segundo select del formulario.

- En el tercer campo de texto guardo la variables $semanas, que me devuelve un número.

- Y en el cuarto select recojo la variable $temporada, que puede devolver "baja", "media" o "alta"

- Si la variable $temporada es "baja", coge el valor del campo [0] del array $precioCurso y lo guarda en la variable $totalCurso, y también recupera el campo [0] del array $precioAlojamiento y lo guarda en la variable $totalAlojamiento, que previamente se habrán definido...

Finalmente la variable $total es el resultado de ($totalCurso+$totalAlojamiento)*$semanas

Y solo me faltaria mostrar la variable $total en la caja de texto del formulario, pero no se si es que hago mal esta ultima parte o tengo mal el botón, pero no puedo comprobar si me razonamiento y script, funciona correctamente... Igual lo he complicado todo demasiado, pero ya te digo... lo que más me está costando es plantear el problema... Disculpa si el script no vale nada... Te lo copio a continuación para que lo veas...

En cuanto a la función que comentas, he leido un poco pero no acabo de entender para que me puede ser útil... imagino que lo dirías a la hora de separar las fechas por temporadas, no?

Muchas gracias por tu paciencia y ayuda,

el html

Código:
<form action="operacion.php" method="post">

curso
<select multiple="multiple" name="field1[]"  id="field1"  ><option  value="basico">Curso Básico</option><option  value="intensivo">Curso Intensivo</option></select>

alojamiento
<select multiple="multiple" name="field2[]"  id="field2"  ><option  value="compartido">compartido</option><option  value="individual">individual</option><option  value="sinalojamiento">sin alojamiento</option></select>


semanas
<input type="text" value="" size="20"  name="field3" id="field3" />

temporada
<select multiple="multiple" name="field4[]"  id="field4"  ><option  value="baja">Enero-Junio</option><option  value="media">Junio-Octubre</option><option  value="alta">Octubre-Diciembre</option></select>


<input class="inputForm3" type="submit" name="enviar" value="calcular" /> 

<input type="text" value="" size="20"  name="Total" id="Total" readonly="readonly"/>

</form>
y el php



Código:
<?php 
$precioalojamiento=0;
$preciocurso=0;
$curso=$_POST["field1"]; //basico
$alojamiento=$_POST["field2"]; //compartido
$semanas=$_POST["field3"]; //2
$temporada=$_POST["field4"]; //baja

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;

$_POST["Total"] = $total;
?>
gracias de nuevo!