[ Foro de PHP ]

URGENTE!!! PHP código sin entender

13-Jun-2021 13:12
Invitado (Ismael)
0 Respuestas

Hola buenas, en breve tengo un examen de recuperación y tengo bastantes dudas sobre un ejercicio de php...
Me pide que cuente las estaciones de tren (ubicadas en el array) y que habiéndolas seleccionado anteriormente, indique cuanto cuesta el precio del billete (multiplicando el contador -que cuente las estaciones desde la inicial hasta la final- por 1,5). Esto es lo que he hecho... Y no se como resolverlo... Ayuda mañana tengo el examen!!

CONDICIONES:
> Controlar que la estación de destino sea mayor a la inicial siempre, nunca igual o inferior, en caso de ser así que devuelva un error y después devuelva a la página

Se me ocurriría hacerlo así pero se que está mal. ¿Alguien me ayuda porfavor?

Este es el código de los 2 archivos...
<!DOCTYPE html>
<html>
<head>
<title> Ferrocarriles </title>
</head>
<body>
<?php
include "Estaciones_tren.php";
if (isset($_POST['origen'], $_POST['destino'])){
$origen = $_POST['origen'];
$destino = $_POST['destino'];
precio($estaciones, $origen, $destino);
echo "El trayecto va desde " .$origen;
echo " hasta " .$destino;
}else{
?>
<form action="Archivo1.php" method="post">
<h1>Ferrocarriles</h1>
<p>Selecciona estación de origen:
<select name="origen">
<option>--Selecciona la estación--</option>
<?php
foreach ($estaciones as $value) {
echo "<option value='$value'> $value</option>";
}
?>
</select>
</p>
<p>Selecciona una estación de destino:
<select name="destino">
<option>--Selecciona la estación--</option>
<?php
foreach ($estaciones as $value) {
echo "<option value='$value'> $value</option>";
}
?>
</select>
</p>
    <input type="submit" value="Calcular trayecto">
</form>
<?php } ?>
</body>
</html>

Primer archivo ^
Segundo archivo aquí abajo;
<?php
$estaciones = array("Barcelona-Pl.Catalunya", "Provença", "Sant Gervasi", "Muntaner", "La Bonanova", "Les Tres Torres", "Sarrià");

function precio($estaciones, $origen, $destino){
$cont=0;
$prest=1.5;
$resultado=0;
if ($origen>$destino){
echo "La selección de estaciones no es correcta <br>";
}else if ($origen==0){
for($i=0;$i<count($estaciones);$i++){
$cont=$destino-$origen;
}
}else if ($origen==1){
for($i=1;$i<count($estaciones);$i++){
$cont=$destino-$origen;
}
}else if ($origen==2){
for($i=2;$i<count($estaciones);$i++){
$cont=$destino-$origen;;
}
}else if ($origen==3){
for($i=3;$i<count($estaciones);$i++){
$cont=$destino-$origen;
}
}else if ($origen==4){
for($i=4;$i<count($estaciones);$i++){
$cont=$destino-$origen;
}
}else if ($origen==5){
for($i=5;$i<count($estaciones);$i++){
$cont=$destino-$origen;
}
}else if ($origen==6){
for($i=6;$i<count($estaciones);$i++){
$cont=$destino-$origen;
}
}
$resultado=$cont*$prest;
echo "El precio del billete es $resultado <br>";
}
?>




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)