Bonjour,
Voici mes deux formulaire, le premier pour introduire les données :
Le deuxième qui enregistre les données et les affichent dans un tableau :
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121 <?php error_reporting (E_ALL ^ E_NOTICE); ?> <?php include("menu.php");?> <link rel="stylesheet" href="menu/dropdown_three.css" type="text/css"> <link rel="stylesheet" href="style.css" type="text/css"> <?php include("include/db_inc_pdo.php"); ?> <html> <body> <form action="tableau.php" method="post" "> <input type="submit" name="enregistrer" value="Enregistrer" /><br> <div> <label for="datearrive">Date d'arrivée : </label><input type="text" name="datearrive" label="datearrive" value="0000-00-00" /> <label for="datedepart"> Date de départ : </label><input type="text" name="datedepart" label="datedepart" value="0000-00-00" /> <label for="datelettre"> Date de la lettre : </label><input type="text" name="datelettre" label="datelettre" value="0000-00-00" /> <label for="nombre"> Nombre : </label><input type="text" name="nombre" label="nombre" value="0" /></div><br /> <div><label for="prixlocation">Prix de la location : </label><input type="text" name="prixlocation" label="prixlocation" value="0.00" /> <label for="caution"> Caution : </label><input type="text" name="caution" label="caution" value="0.00" /> <label for="linge"> Linge : </label><input type="text" name="linge" label="linge" value="0.00" /> <label for="litbaby"> Lit bébé : </label><input type="text" name="litbaby" label="litbaby" value="0.00" /></div> <div><label for="apaiement">1er paiement : </label><input type="text" name="apaiement" label="apaiement" value="0.00" /> <label for="dateapaiement"> Date 1er paiement (annee-mois-jour): </label><input type="text" name="dateapaiement" value="0000-00-00" /></div> <div> <label for="bpaiement">2e paiement : </label><input type="text" name="bpaiement" label="bpaiement" value="0.00" /> <label for="datebpaiement"> Date 2e paiement (annee-mois-jour): </label><input type="text" name="datebpaiement" value="0000-00-00" /></div> <div> <label for="cpaiement">3e paiement : </label><input type="text" name="cpaiement" label="cpaiement" value="0.00" /> <label for="datecpaiement"> Date 3e paiement (annee-mois-jour): </label><input type="text" name="datecpaiement" value="0000-00-00" /></div><br /> <div> <label for="remarques">Remarques : </label><input type="text" name="remarques" label="remarques" value=" " /> <label for="paragraphesup"> Paragraphe supplémentaire : </label><input type="text" name="paragraphesup" label="paragraphesup" value=" " /> <label for="enfants"> Enfants : </label><input type="text" name="enfants" label="enfants" value=" " /></div> <div> <div class="boite1"> <div class="case"> <div> <p> Tarifs envoyés?</p> <ul> <li>Oui<input type="radio" name="envoitarifs" value="1" /> <li>Non<input type="radio" name="envoitarifs" value="2" /> </ul> </div> </div> <div class="case"> <div> <p> Descriptif envoyé?</p> <ul> <li>Oui<input type="radio" name="envoidescriptif" value="1" /> <li>Non<input type="radio" name="envoidescriptif" value="2" /> </ul> </div> </div> <div class="case"> <div> <p> Caution restituée</p> <ul> <li>Oui<input type="radio" name="restitution" value="oui" /> <li>Non<input type="radio" name="restitution" value="non" /> <li>Pas de caution<input type="radio" name="restitution" value="pas de caution" /> </ul> </div> </div> </div> <div class="boite1"> <div class="case"> <div> <p> Appart</p> <ul> <li>1<input type="radio" name="appart" value="1" /> <li>2<input type="radio" name="appart" value="2" /> </ul> </div> </div> <div class="case"> <div> <p> Confirmation de réservation</p> <ul> <li>Oui<input type="radio" name="confirmation" value="1" /> <li>Non<input type="radio" name="confirmation" value="2" /> </ul> </div> </div> <div class="case"> <div> <p> Annulé</p> <ul> <li>Oui<input type="radio" name="annul" value="1" /> <li>Non<input type="radio" name="annul" value="2" /> </ul> </div> </div> <div><label>Choisissez un nom : <select name="idnoms"></label></div> <?php $reponse = $pdo->query("SELECT * from locataires ORDER BY nom"); $reponse->execute([$query]); $row = $reponse->fetch(); { while ($row = $reponse->fetch()) echo '<option value="'.$row['idnoms'].'">'.$row['nom']." - " .$row['prenom'].'</option>'; } ?> </form> </body> </html>
Je n'ai pas de message d'erreur, le "var_dump($_POST);" affiche correctement les données, mais elles ne s'affichent pas dans le tableau et dans la base de données toutes les dates sont à "NULL" !!!
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150 <?php error_reporting (E_ALL ^ E_NOTICE); ?> <?php include("menu.php");?> <link rel="stylesheet" href="menu/dropdown_three.css" type="text/css"> <link rel="stylesheet" href="style.css" type="text/css"> <?php include("include/db_inc_pdo.php"); var_dump($_POST); ?> <table class="bicolor" border="1" align="center"> <tr> <th>Date arrive</th> <th>Date depart</th> <th>Date lettre</th> <th>Nb.</th> <th>Nom</th> <th>Prix location</th> <th>Caution</th> <th>1er paie.</th> <th>Date.</th> <th>2e paie.</th> <th>Date</th> <th>3e paie.</th> <th>Date</th> <th>Linge</th> <th>Litbaby</th> <th>Degats payes</th> <th>Non paye</th> <th>Remarques</th> <th>Rest.</th> <th>Appart</th> <th>Tarifs</th> <th>Desc.</th> <th>Paragraphe sup.</th> <th>Conf.</th> <th>Enfants</th> <th>Annulé</th> </tr> <?php $idnoms = isset($_POST['idnoms']) ? $_POST['idnoms'] : ''; $datea = isset($_POST['datearrive']) ? $_POST['datearrive'] : ''; $dateb = isset($_POST['datedepart']) ? $_POST['datedepart'] : ''; $datel = isset($_POST['datelettre']) ? $_POST['datelettre'] : ''; $nombre = isset($_POST['nombre']) ? $_POST['nombre'] : ''; $prixlocation = isset($_POST['prixlocation']) ? $_POST['prixlocation'] : ''; $caution = isset($_POST['caution']) ? $_POST['caution'] : ''; $linge = isset($_POST['linge']) ? $_POST['linge'] : ''; $litbaby = isset($_POST['litbaby']) ? $_POST['litbaby'] : ''; $apaiement = isset($_POST['apaiement']) ? $_POST['apaiement'] : ''; $dateunp = isset($_POST['dateapaiement']) ? $_POST['dateapaiement'] : ''; $bpaiement = isset($_POST['bpaiement']) ? $_POST['bpaiement'] : ''; $datedeuxp = isset($_POST['datebpaiement']) ? $_POST['datebpaiement'] : ''; $cpaiement = isset($_POST['cpaiement']) ? $_POST['cpaiement'] : ''; $datetroisp = isset($_POST['datecpaiement']) ? $_POST['datcepaiement'] : ''; $remarques = isset($_POST['remarques']) ? $_POST['remarques'] : ''; $paragraphesup = isset($_POST['paragraphesup']) ? $_POST['paragraphesup'] : ''; $enfants = isset($_POST['enfants']) ? $_POST['enfants'] : ''; $envoitarifs = isset($_POST['envoitarifs']) ? $_POST['envoitarifs'] : ''; $envoidescriptif = isset($_POST['envoidescriptif']) ? $_POST['envoidescriptif'] : ''; $restitution = isset($_POST['restitution']) ? $_POST['restitution'] : ''; $appart = isset($_POST['appart']) ? $_POST['appart'] : ''; $confirmation = isset($_POST['confirmation']) ? $_POST['confirmation'] : ''; $sql = "INSERT INTO dateloca (idnoms, datearrive, datedepart, datelettre, nombre, prixlocation, caution, linge, litbaby, apaiement, dateapaiement, bpaiement, datebpaiement, cpaiement, datecpaiement, remarques, paragraphesup, enfants, envoitarifs, envoidescriptif, restitution, appart, confirmation) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; $stmt= $pdo->prepare($sql); $stmt->execute([$idnoms, $datearrive, $datedepart, $datelettre, $nombre, $prixlocation, $caution, $linge, $litbaby, $apaiement, $dateapaiement, $bpaiement, $datebpaiement, $cpaiement, $datecpaiement, $remarques, $paragraphesup, $enfants, $envoitarifs, $envoidescriptif, $restitution, $appart, $confirmation]); $reponse = $pdo->query('SELECT DATE_FORMAT( datearrive, "%d/%m/%Y" ) AS datea, DATE_FORMAT( datedepart, "%d/%m/%Y" ) AS dated, DATE_FORMAT( datelettre, "%d/%m/%Y" ) AS datel, dateloca.nombre, dateloca.prixlocation, dateloca.caution, dateloca.apaiement, DATE_FORMAT( dateapaiement, "%d/%m/%Y" ) AS dateunp, dateloca.bpaiement, DATE_FORMAT( datebpaiement, "%d/%m/%Y" ) AS datedeuxp, dateloca.cpaiement, DATE_FORMAT( datecpaiement, "%d/%m/%Y" ) AS datetroisp, dateloca.linge, dateloca.litbaby, dateloca.degatspayes, dateloca.nonpaye, dateloca.remarques, dateloca.restitution, dateloca.appart, if(dateloca.envoitarifs=1,"oui","non") as envoitarifs, if(dateloca.envoidescriptif=1,"oui","non") as envoidescriptif, dateloca.paragraphesup, if(dateloca.confirmation=1,"oui","non") as confirmation, dateloca.enfants, if(dateloca.annul=1,"oui","non") as annul, locataires.nom FROM dateloca INNER JOIN locataires ON dateloca.idnoms = locataires.idnoms WHERE locataires.reserve = "oui" ORDER BY datearrive desc'); while ($donnees = $reponse->fetch()) { //On affiche les données dans le tableau echo "<tr>"; echo "<td> $donnees[datea] </td>"; echo "<td> $donnees[dated] </td>"; echo "<td> $donnees[datel] </td>"; echo "<td> $donnees[nombre] </td>"; echo "<td> $donnees[nom] </td>"; echo "<td> $donnees[prixlocation] </td>"; echo "<td> $donnees[caution] </td>"; echo "<td> $donnees[apaiement] </td>"; echo "<td> $donnees[dateunp] </td>"; echo "<td> $donnees[bpaiement] </td>"; echo "<td> $donnees[datedeuxp] </td>"; echo "<td> $donnees[cpaiement] </td>"; echo "<td> $donnees[datetroisp] </td>"; echo "<td> $donnees[linge] </td>"; echo "<td> $donnees[litbaby] </td>"; echo "<td> $donnees[degatspayes] </td>"; echo "<td> $donnees[nonpaye] </td>"; echo "<td> $donnees[remarques] </td>"; echo "<td> $donnees[restitution] </td>"; echo "<td> $donnees[appart] </td>"; echo "<td> $donnees[envoitarifs] </td>"; echo "<td> $donnees[envoidescriptif] </td>"; echo "<td> $donnees[paragraphesup] </td>"; echo "<td> $donnees[confirmation] </td>"; echo "<td> $donnees[enfants] </td>"; echo "<td> $donnees[annul] </td>"; echo "</td>"; echo "</tr>"; } $reponse->closeCursor(); ?>
Voici le résultat du "var_dump($_POST);"
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 C:\wamp64\www\xxxxx\tableau.php:8: array (size=25) 'enregistrer' => string 'Enregistrer' (length=11) 'datearrive' => string '2021-09-09' (length=10) 'datedepart' => string '2021-09-10' (length=10) 'datelettre' => string '2020-09-09' (length=10) 'nombre' => string '4' (length=1) 'prixlocation' => string '400' (length=3) 'caution' => string '100' (length=3) 'linge' => string '10' (length=2) 'litbaby' => string '10' (length=2) 'apaiement' => string '0.00' (length=4) 'dateapaiement' => string '0000-00-00' (length=10) 'bpaiement' => string '0.00' (length=4) 'datebpaiement' => string '0000-00-00' (length=10) 'cpaiement' => string '0.00' (length=4) 'datecpaiement' => string '0000-00-00' (length=10) 'remarques' => string ' blabla' (length=7) 'paragraphesup' => string ' blabla' (length=7) 'enfants' => string '1' (length=1) 'envoitarifs' => string '1' (length=1) 'envoidescriptif' => string '1' (length=1) 'restitution' => string 'pas de caution' (length=14) 'appart' => string '1' (length=1) 'confirmation' => string '1' (length=1) 'annul' => string '2' (length=1) 'idnoms' => string '136' (length=3)
Et voici la ligne qui est dans la bdd
Le premier chiffre "187" est l'idperiode (auto_increment) de la table dateloca, le deuxième 136 l'idnoms de la table locataires, les NULL c'est là où il devrait y avoir les dates qui figurent bien dans l'array.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 187 136 NULL NULL 4 400.00 100.00 0.00 NULL 0.00 NULL 0.00 NULL 10.00 10.00 0.00 0.00 blabla pas de caution NULL 1 1 1 blabla 1 1 2
C'est un vrai cauchemar, je n'arrive pas à comprendre pourquoi cela ne fonctionne pas
D'avance merci pour votre aide et bon week-end
Partager