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!