<body>
<form action="index.php" method="get">
<input type="text" name="nom" maxlength="15" placeholder="Votre nom">
<input type="email" name="email" maxlength="25" placeholder="Votre adresse email">
<input type="tel" name="tel" minlength="10" maxlength="10" placeholder="Votre tél. 10 chiffres maxi">
Ville de départ :
<select name="depart">
<option value="Paris">Paris</option>
<option value="Orléans">Orléans</option>
<option value="Dublin">Dublin</option>
<option value="Nice">Nice</option>
<option value="Tours">Tours</option>
</select>
<input type="submit" value="Valider">
</form>
<?php
if (
(empty($_GET["nom"]))
or
(empty($_GET["email"]))
or
(empty($_GET["tel"]))
) {
echo "Tous les champs du formulaire ne sont pas complétés";
}
$travels = [
['departure' => 'Paris', 'arrival' => 'Nantes', 'departureTime' => '11:00', 'arrivalTime' => '12:34', 'driver' => 'Thomas'],
['departure' => 'Orléans', 'arrival' => 'Nantes', 'departureTime' => '05:15', 'arrivalTime' => '09:32', 'driver' => 'Mathieu'],
['departure' => 'Dublin', 'arrival' => 'Tours', 'departureTime' => '07:23', 'arrivalTime' => '08:50', 'driver' => 'Nathanaël'],
['departure' => 'Paris', 'arrival' => 'Orléans', 'departureTime' => '03:00', 'arrivalTime' => '05:26', 'driver' => 'Clément'],
['departure' => 'Paris', 'arrival' => 'Nice', 'departureTime' => '10:00', 'arrivalTime' => '12:09', 'driver' => 'Audrey'],
['departure' => 'Nice', 'arrival' => 'Nantes', 'departureTime' => '10:40', 'arrivalTime' => '13:00', 'driver' => 'Pollux'],
['departure' => 'Nice', 'arrival' => 'Tours', 'departureTime' => '11:00', 'arrivalTime' => '16:10', 'driver' => 'Edouard'],
['departure' => 'Tours', 'arrival' => 'Amboise', 'departureTime' => '16:00', 'arrivalTime' => '18:40', 'driver' => 'Priscilla'],
['departure' => 'Nice', 'arrival' => 'Nantes', 'departureTime' => '12:00', 'arrivalTime' => '16:00', 'driver' => 'Charlotte'],
];
$travel = $_GET['depart'];
foreach ($travels as $key => $travel){
echo $travel ['arrival'];
}
?>
</body>
</html>
Ce que je veux
lorsque je selectionne une ville via le formulaire les villes d'arrivée doient s'afficher
Ce que j'obtiens
toutes les villes s'affiches
$travel va être écrasé par la boucle
ensuite dans le boucle je ferrais une comparaison entre le résultat du forumaire et le départ du tableau. Suivant le résultat, j'affiche ou non les données
j'ai rajouté un if mais maintenant plus rien s'affiche !!
'
$travel = $_GET['depart'];
foreach ($travels as $key => $travel){
if(['departure'] == $travel){
echo $travel['arrival'];
}
}
'
voici mon code commenté dit moi ce qu'il manque
'
$travel = $_GET['depart']; //récupération de la valeur choisi dans le formulaire que j'affecte à la variable $travel
foreach ($travels as $key =>$travel){ //pour chaque clef du tableau (la variable $travel) = $travel
echo $travel['arrival']; // imprime pour la valeur de $travel la valeur de la clef arrival
}
'
question bête, le problème ne peut pas venir de ma configuration de VSCode ou de wampserver même si tout est au vert.
je doute car les autres boucles fonctionnent
non. tu vas écraser la valeur de $travel avec ta boucle. tu n'as donc plus la récupération du départ par le formulaire.
fais un var_dump de $travel dans la boucle et tu verras ce qu'il
j'ai essayé dans tout les sens en rajouter des condition rien à faire. Je ne vois vraiment pas comment faire. si quelqu'un veux bien m'aidé !!
c'est une erreur d'inteprétation désolé si je me suis mal exprimé.
j'ai tout essayé enfin ce que je connais et je suis sec !!
je ne vois pas comment faire
if (isset($_GET['depart']) {
$depart = $_GET['depart']; // je change de nom de variable, car tu la redéfinis dans la boucle.
foreach ($travels as $travel){
if($travel['departure'] === $depart ) {
echo $travel ['arrival'];
}
}