Problème boucle foreach OU je ne choisi pas la bonne option
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
bonjour,
j'essai de récupérer certaines informations d'un tableau en fonction de l'élément ville de départ remplis dans un formulaire .
le choix du GET est uniquement pour voir les éléments dans URL
mais toutes les villes d'arrivées s'affiche . comment dois-je faire (j'ai déjà essayé plusieurs solution mais sans succès)
<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" name="valider" value="Valider">
</form>
<?php
if(isset($_GET["valider"])){
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"];
}
?>
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ?
- Le fichier à télécharger comporte plusieurs calques. l’un d’eux contient un mot caché. quel est ce mot ? - Forum Téléchargement
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Un document .docx est, en réalité, composé de plusieurs fichiers. dans le fichier à télécharger, trouvez le fichier secret. quel mot contient-il ? ✓ - Forum Windows
- Comment réduire la taille d'un fichier - Guide
1 réponse
bonjour,
<?php //récupération PROPRE des variables AVANT de les utiliser // pour ça, j'utilise l'écriture TERNAIRE ( sorte de IF/ELSE ) $nom = !empty($_GET['nom'] ) ? $_GET['nom'] : NULL; $email = !empty($_GET['email'] ) ? $_GET['email'] : NULL; $tel = !empty($_GET['tel'] ) ? $_GET['tel'] : NULL; $depart = !empty($_GET['depart'] ) ? $_GET['depart'] : NULL; if(isset($_GET["valider"])){ if ( !$nom || !$email|| !$tel ) { echo "Tous les champs du formulaire ne sont pas complétés"; } else { $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'], ]; $ids = array_keys(array_combine(array_keys($travels), array_column($travels, 'departure')),$depart); } } ?> <form action="index.php" method="get"> <input type="text" name="nom" maxlength="15" placeholder="Votre nom" value="<?php echo $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" name="valider" value="Valider"> </form> <div> <?php if(!empty($ids)){ echo "<span>Résultats:</span>"; foreach($ids as $id ){ echo "<pre>"; print_r($travels[$id] ); // a toi de voir ce que tu veux faire du résultat... echo "</pre>"; } } ?> </div>