Bonsoir,
Je suis débutant en php et je m'arrache le peux de cheveux qu'il me reste sur un truc qui doit certainement être simple, mais que je trouve pas.
J'ai un tableau de ce style;
Avec ce tableau j'ai un formulaire qui demande une ville de départ 'departure', une fois mon formulaire validé, je devrais normalement voir apparaître un joli tableau avec les informations complète et le nombre de trajets disponible de la ville de départ,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $travels = array( 0 => array('departure' => 'Paris', 'arrival' => 'Nantes', 'departureTime' => '11:00', 'arrivalTime' => '12:34', 'driver' => 'Thomas'), 1 => array('departure' => 'Orléans', 'arrival' => 'Nantes', 'departureTime' => '05:15', 'arrivalTime' => '09:32', 'driver' => 'Mathieu'), 2 => array('departure' => 'Dublin', 'arrival' => 'Tours', 'departureTime' => '07:23', 'arrivalTime' => '08:50', 'driver' => 'Nathanaël'), 3 => array('departure' => 'Paris', 'arrival' => 'Orléans', 'departureTime' => '03:00', 'arrivalTime' => '05:26', 'driver' => 'Clément'), 4 => array('departure' => 'Paris', 'arrival' => 'Nice', 'departureTime' => '10:00', 'arrivalTime' => '12:09', 'driver' => 'Audrey'), 5 => array('departure' => 'Nice', 'arrival' => 'Nantes', 'departureTime' => '10:40', 'arrivalTime' => '13:00', 'driver' => 'Pollux'), 6 => array('departure' => 'Nice', 'arrival' => 'Tours', 'departureTime' => '11:00', 'arrivalTime' => '16:10', 'driver' => 'Edouard'), 7 => array('departure' => 'Tours', 'arrival' => 'Amboise', 'departureTime' => '16:00', 'arrivalTime' => '18:40', 'driver' => 'Priscilla'), 8 => array('departure' => 'Nice', 'arrival' => 'Nantes', 'departureTime' => '12:00', 'arrivalTime' => '16:00', 'driver' => 'Charlotte') );
ex. pour Paris je devrais voir à l'écran les trois trajets disponible dans le tableau avec la ville d'arrivée, l'heure de départ et d'arrivée et le nom de chaque conducteur proposant les trajets.
Le meilleur résultat que j'obtiens, c'est une ligne de tableau avec la clef et la ville de départ du premier éléments du tableau.
Mon code php est le suivant;
A force de chercher je m'énerve et n'arrive plus à rien, si quelqu'un pouvais me remettre dans la bonne direction ce serait sympa car là je perd pied.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 if (!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['tel']) && !empty($_POST['depart'])) { // Initialisation des variables $name = (isset($_POST['name'])) ? nettoyage($_POST['name']) : ''; $fname = (isset($_POST['firstname'])) ? nettoyage($_POST['firstname']) : ''; $email = (isset($_POST['email'])) ? nettoyage($_POST['email']) : ''; $tel = (isset($_POST['tel'])) ? nettoyage($_POST['tel']) : ''; $depart = (isset($_POST['depart'])) ? nettoyage($_POST['depart']) : ''; $heures = (isset($_POST['heures'])) ? ($_POST['heures']) : ''; echo '<br><br>Bonjour ' . first_maj($fname) . ' ' . first_maj($name) . ', nous avons bien pris votre demande en compte.<br>'; echo 'Nous cherchons actuellement les trajets au départ de ' . first_maj($depart) . '.<br>'; if ($heures == TRUE) { echo "Vous aimeriez un départ pour $heures<br>"; } echo "Les informations suivantes seront transmises au conducteur que vous aurez choisi;<br>"; if (preg_match('#^[\w.-]+@[\w.-]+\.[a-z]{2,6}$#i', $email)) { echo "- Votre email : $email<br>"; } else { echo "Votre adresse mail comporte des erreurs, merci de contrôler votre saisie.<br>"; } if (preg_match(" #^[0-9]{2}[. ]?[0-9]{2}[. ]?[0-9]{2}[. ]?[0-9]{2}[. ]?[0-9]{2}?$# ", $tel)) { echo "- Votre téléphone : $tel<br>"; } else { echo "Votre N° de téléphone comporte une erreur, merci de controler votre saisie."; } function value_array ($ville, $array) { $count = 0; echo '<table width="90%" border="1px"><tbody>'; foreach ($array as $key => $val) { echo "<tr><th>$key</th>"; foreach ($val as $dept => $val2) { echo "<td>$val2</td>"; if ($val2 == $ville) { $count++; } echo '</tr>'; } echo '</tbody></table>'; } return $count; } value_array($depart, $travels); } else { echo "Merci de compléter tous les champs repérés par une <sup>*</sup> bleu."; }
Cordialement,
Yvon73
Partager