Lis la doc sur l'affichage des données...
Je ne vais pas t'écrire tout le code.
Ce ne serait pas te rendre service.
Lis la doc sur l'affichage des données...
Je ne vais pas t'écrire tout le code.
Ce ne serait pas te rendre service.
Bonsoir Jérôme,
Je me pose une question (enfin, une à la fois...) Ou dois-je mettre mes requête "SELECT", dans le fichier php ? Ou bien dans le formulaire html, comme tu le montre
ici : http://j-reaux.developpez.com/tutori...au-html/#LVI-A ?
J’essaie de bien appréhender ce que je dois attendre du code
(NB il manque le "S" à EQUIPEMENT, est-ce normal ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <input name="EQUIPEMENTS[]" value="<?php echo $resultat['ID_EQUIPEMENT']; ?>" type="checkbox" id="EQUIPEMENT<?php echo $resultat['ID_EQUIPEMENT']; ?>"/> <label for="EQUIPEMENT<?php echo $resultat['ID_EQUIPEMENT']; ?>"><?php echo $resultat['NOM_EQUIPEMENT']; ?></label>
J'ai placé ces lignes autant de fois que de checkbox dans mon formulaire (j'espère que j'ai pas compris de travers)...
Dis-moi, stp, là, le code est sensé utiliser les données de ma table "EQUIPEMENTS" pour afficher le "NOM_EQUIPEMENT" dans le formulaire (comme "label"), mais pourquoi afficher le ID_EQUIPEMENT ?
D'autre part, j'ai testé la requête "SELECT" en SQL, elle fonctionne, mais depuis le php, où que je la place plus rien ne remonte !
Bonjour,
relis mon message pour la structure de la table "equipements".
Les checkbox se construisent de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php $requete = "SELECT ID_EQUIPEMENT, NOM_EQUIPEMENT FROM equipements ORDER BY NOM_EQUIPEMENT;"; $query = mysqli_query($connect, $requete); // on soumet la requête $result = mysqli_fetch_all($query); // on récupère le résultat dans un tabelau (array) foreach( $result as $row){ // on traite ligne par ligne ?> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <?php } ?>On récupère ensuite l'ID_EQUIPEMENT !
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input ....... value="<?php echo $row['ID_EQUIPEMENT']; ?>" ....>
N.B. Ceci est la syntaxe pour relier un label à son input (permet de cocher la case en cliquant sur le label) :
Il te manque des NOTIONS DE BASES, ce qui t'empêche de bien comprendre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <input ....... id="idEQUIPTxxx"/> <label for="idEQUIPTxxx">...</label>
PRENDS LE TEMPS de lire des tutos !
Et surtout, évite de tout mélanger... (mysql_ n'est pas mysqli_ entre autres...)
Dernière modification par Invité ; 05/03/2015 à 00h58.
Bonjour,
Après plusieurs essai, une question me viens à l'esprit : Mon formulaire, je le change en ".php" ?
Car apparemment comme ça il tiens compte du code php... même si des erreurs remontent.
Bon une des erreurs est sur la variable "$connect"
Mais je n'arrive pas à "connecter" la base d'une façon ou d'une autre !
Capture :
Pour mémoire je remet le code
Merci par avance.
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtmll/DTD/xhtml-transitional.dtd"> <html xmlns="http://www.w3.org.199/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Enregistrement</title> <link href="form.css" rel="stylesheet" type="text/css" /> </head> <body> <div> <form target="_top" method="post" action="traitementmobile.php"> <fieldset id="TELEPHONE"> <p class="titre1" align="center">REMISE DE MATERIELS</p> <br /><br /><br /><br /> <p class="titre" align="center">TELEPHONE</p> <br /><br /><br /><br /><br /><br /> <label>MARQUE :</label> <select name="MARQUE"> <option value=""></option> <option value="SAMSUNG">SAMSUNG</option> <option value="WIKO">WIKO</option> </select> <br /> <label>MODELE :</label> <select name="MODELE"> <option value=""></option> <option value="B2100">B2100</option> <option value="B2710">B2710</option> <option value="GALAXY S3">GALAXY S 3</option> <option value="KAR 2">KAR 2</option> <option value="KAR 3">KAR 3</option> </select> <p id="CHAMPS"> <label>S/N :</label> <input type="text" size="30" name="SN"></input> <label>IMEI :</label> <input type="text" size="30" name="IMEI"></input> <br /> <label>SIM :</label> <input type="text" size="30" name="SIM"></input> <label>NUMERO :</label> <input type="text" size="30" name="NUMERO"></input> <br /> <label>VALEUR :</label> <input type="text" size="30" name="VALEUR"></input> <label>COMPTE :</label> <select name="COMPTE"> <option value=""></option> <option value="0000000">0000000</option> </select> </P> <p id="EQUIPEMENTS"><label>EQUIPEMENTS:</label> <?php $requete = "SELECT ID_EQUIPEMENT, NOM_EQUIPEMENT FROM equipements ORDER BY NOM_EQUIPEMENT;"; $query = mysqli_query($connect, $requete); // on soumet la requête $result = mysqli_fetch_assoc($query); // on récupère le résultat dans un tabelau (array) foreach ($result as $row) { // on traite ligne par ligne ?> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label><br /> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <?php } ?> </p> <p class="titre2" align="center">UTILISATEUR</p> <label>NOM :</label> <select name="NOM"> <option value=""></option> <option value="BRUZESSE">BRUZESSE</option> <option value="BLANCHETIERE">BLANCHETIERE</option> <option value="GUILLOU">GUILLOU</option> </select> <label>PRENOM :</label> <select name="PRENOM"> <option value=""></option> <option value="AGNES">AGNES</option> <option value="MAUD">MAUD</option> <option value="OLIVIER">OLIVIER</option> </select><br /> <label>EMAIL :</label> <select name="EMAIL"> <option value=""></option> <option value="a.bruzzese@cc-sudestuaire.fr">a.bruzzese@cc-sudestuaire.fr</option> <option value="m.blanchetiere@cc-sudestuaire.fr">m.blanchetiere@cc-sudestuaire.fr</option> <option value="o.guillou@cc-sudestuaire.fr">o.guillou@cc-sudestuaire.fr</option> </select> <label>SERVICE :</label> <select name="SERVICE"> <option value=""></option> <option value="FINANCES">FINANCES</option> <option value="DEV.ECO ET TOURISME">DEV.ECO ET TOURISME</option> <option value="INFORMATIQUE">INFORMATIQUE</option> </select> <br /><br /> Je m'engage à* :<br /> - Prendre soin du matériel qui m'est confié,<br /> - Faire un usage strictement professionnel du téléphone et de son forfait,<br /> - Le restituer au service SI à la fin de mes missions sur ce poste ou en cas de remise de nouveau matériel,<br /> - Signaler tout dysfonctionnement au service SI,<br /> - Ne pas insérer la carte SIM dans un autre téléphone sans l'accord du service SI,<br /> - Ne pas insérer une autre carte SIM dans ce téléphone,<br /> - Modifier le code PIN à la réception de ce téléphone et à le remettre sur 0000 au<br /> préalable de sa restitution.<br /> <meta charset="utf-8"> <title>jQuery UI Datepicker - Icon trigger</title> <link rel="stylesheet" href="./jquery-ui-1.9.2.custom/css/jquery-ui-1.9.2.custom.css"> <script src="./jquery-ui-1.9.2.custom/js/jquery-1.8.3.js"></script> <script src="./jquery-ui-1.9.2.custom/js/jquery-ui-1.9.2.custom.js"></script> <script> $(function() { $("#datedebut").datepicker({ showOn: "button", buttonImage: "./jquery-ui-1.9.2.custom/calendar.gif", buttonImageOnly: true, buttonText: "Cliquez" }); $("#datefin").datepicker({ showOn: "button", buttonImage: "./jquery-ui-1.9.2.custom/calendar.gif", buttonImageOnly: true, buttonText: "Cliquez" }); }); jQuery(function($) { $.datepicker.regional['fr'] = { closeText: 'Fermer', prevText: 'Précédent', nextText: 'Suivant', currentText: 'Aujourd\'hui', monthNames: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'], monthNamesShort: ['Janv.', 'Févr.', 'Mars', 'Avril', 'Mai', 'Juin', 'Juil.', 'Août', 'Sept.', 'Oct.', 'Nov.', 'Déc.'], dayNames: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'], dayNamesShort: ['Dim.', 'Lun.', 'Mar.', 'Mer.', 'Jeu.', 'Ven.', 'Sam.'], dayNamesMin: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], weekHeader: 'Sem.', dateFormat: 'dd/mm/yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''}; $.datepicker.setDefaults($.datepicker.regional['fr']); }); </script> <p>Date de remise:<input type="text" id="datedebut" class="datepicker" name="DATEREMISE"></input></p> <p id="SIGNATURE1" align="right"><label>SIGNATURE:</label> <p id="remises"><label>État de remise:</label> <input name="remise" value="Neuf" type="radio" />Neuf <input name="remise" value="Très bon" type="radio" />Très bon <input name="remise" value="Bon" type="radio" />Bon <input name="SIGNATURE1" size="25" type="text" /></p></p> <p>Date de retour: <input type="text" id="datefin" class="datepicker" name="DATERETOUR"></input></p> <p id="SIGNATURE2" align="right"><label>SIGNATURE:</label> <p id="retours"><label>État de retour:</label> <select name="retour"> <option value=""></option> <option value="Très Bon">Très Bon</option> <option value="Bon">Bon</option> <option value="Passable">Passable</option> <option value="Hors service">Hors service</option> </select> <input name="SIGNATURE2" size="25" type="text" /></p></p> </link> <p class="titre3" align="center">COMMENTAIRES</p> <br /><br /><br /><br /><br /> <fieldset id="COMMENTAIRES"><textarea name="COMMENTS" style="width: 682px; height: 16px" ></textarea> </fieldset> <p id="buttons"> <input value="Envoyer/Imprimer" type="submit" onclick="window.print()"/> <input value="Recommencer" type="reset"/> </p> </meta> </fieldset> </form> </div> </body> </html>
Bonjour,
Quant à l'erreur...
Où as-tu défini $connect ?
N'aurais-tu pas oublier d'inclure le script de connexion ?
Dernière modification par Invité ; 21/02/2015 à 08h55.
Bonjour,
Pour la connexion à la base, j'ai tout essayé et comme ça ne fonctionnait pas j'avais enlevé le code et oublié de le remettre, cela donne ci-dessous :
Pour que serveur sache qu'il a du travail, j'ai changer l'extension de mon formulaire en ".php"
Maintenant j'ai des erreurs :
Cela signifie apparemment que la clé n'existe pas !
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 <p id="EQUIPEMENTS"><label>EQUIPEMENTS:</label> <?php // Parametres mysql define('DB_SERVER', 'localhost'); // serveur mysql define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur define('DB_SERVER_PASSWORD', ''); // mot de passe define('DB_DATABASE', 'materiels'); // nom de la base // Connexion au serveur mysql $connect = mysqli_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE) or die('Impossible de se connecter : ' . mysqli_error()); ?> <?php $requete = "SELECT ID_EQUIPEMENT, NOM_EQUIPEMENT FROM equipements ORDER BY NOM_EQUIPEMENT;"; $query = mysqli_query($connect, $requete); // on soumet la requête $result = mysqli_fetch_assoc($query); // on récupère le résultat dans un tabelau (array) foreach ($result as $row) { // on traite ligne par ligne var_dump($result); ?> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label><br /> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <?php } ?> </p>
Pourtant elle est bien dans la Bdd !
Je continu mes lectures et exercices...
Bon , j'ai fait unIl y a bien une valeur NOM_EQUIPEMENT (checkbox) qui remonte... seulement une... Pourtant le foreach devrait les remonter toute !
Code : Sélectionner tout - Visualiser dans une fenêtre à part print_r ($row);
Bien j'ai beau chercher, je ne trouve pas d'où viens l'erreur, est-ce lié à la version de PHP comme le suggère certain forum !
Un peu d'aide à la compréhension de cet : illegal string offset, svp !
Merci par avance.
Salut Jean-Michel G,
L'erreur est tout autre ^^. mysql_fetch_assoc va renvoyer la prochaine ligne du résultat de ta requête et non l'ensemble du résultat, la documentation sur le sujet est bien documentée avec des exemples d'utilisation :
http://php.net/manual/fr/function.mysql-fetch-assoc.php
Pour te mettre sur la piste :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 while ($row = mysql_fetch_assoc($result)) { // ... }
Bonne remarque, sauf que vu que c'est codé avec mysqli, ce serait plutôt vers cette doc qu'il faut chercher : http://php.net/manual/fr/mysqli-result.fetch-assoc.php
Mais le principe reste le même : une seule ligne est remontée à la fois, la boucle doit donc être sur la récupération.
Ton code pourrait fonctionner si tu utilisais mysqli_fetch_all pour la récupération, mais la récupération de la totalité des données en une seule fois n'est pas forcément une super bonne idée niveau performances...
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.
Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]
Bonsoir et merci à vous deux pour ces infos.
Bien sur, Celira, j'avais corrigé en mysqli.
Mais quand tu dis :Qu'entends-tu par "la boucle doit donc être sur la récupération", stp ?Mais le principe reste le même : une seule ligne est remontée à la fois, la boucle doit donc être sur la récupération.
Bon apparemment la boucle while passe mieux que la foreach...
Mais ce n'est pas encore ça...toujours pas de checkboxs et une erreurJe dois surement mal placer ma boucle...Warning: mysql_fetch_assoc() expects parameter 1 to be resource, array given in C:\wamp\www\formulaire-web\remise-materiels.php on line 69
Merci de votre aide.
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 $connect = mysqli_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE) or die('Impossible de se connecter : ' . mysqli_error()); ?> <?php $requete = "SELECT ID_EQUIPEMENT, NOM_EQUIPEMENT FROM equipements ORDER BY ID_EQUIPEMENT;"; $query = mysqli_query($connect, $requete); // on soumet la requête $result = mysqli_fetch_assoc($query); // on récupère le résultat dans un tableau (array) while ($row = mysql_fetch_assoc($result)) { // ... ?> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label><br /> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <?php } ?>
Je continu...
Bonjour Jean-Michel,
je t'ai déjà dit plusieurs fois qu'il fallait que tu TE DOCUMENTES, et lises des tutos.
Un code ne s'écrit pas "au petit bonheur la chance".
Et il faut comprendre ce qu'on fait.
Ou :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php $requete = "SELECT ID_EQUIPEMENT, NOM_EQUIPEMENT FROM equipements ORDER BY ID_EQUIPEMENT;"; $result = mysqli_query($connect, $requete); // on soumet la requête while ($row = mysqli_fetch_assoc($result)) { // lit les résultats ligne par ligne ?> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <?php } ?>
Maintenant, j'espère que tu auras la curiosité de LIRE ces liens, afin de ne plus te prendre les pieds dans le tapis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php $requete = "SELECT ID_EQUIPEMENT, NOM_EQUIPEMENT FROM equipements ORDER BY ID_EQUIPEMENT;"; $result = mysqli_query($connect, $requete); // on soumet la requête $rowAll = mysqli_fetch_all($result); // lit tous les résultats et retourne le résultat sous forme d'un tableau associatif foreach ($rowAll as $row) { // lit le tableau $rowAll (array) ligne par ligne ?> <input name="EQUIPEMENTS[]" value="<?php echo $row['ID_EQUIPEMENT']; ?>" type="checkbox" id="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"/> <label for="idEQUIPT<?php echo $row['ID_EQUIPEMENT']; ?>"><?php echo $row['NOM_EQUIPEMENT']; ?></label> <?php } ?>
Dernière modification par Invité ; 05/03/2015 à 00h09.
l'erreur signalée au post#70 ligne 69 est normale vu que tu mélanges mysql_xxx et mysqli _xxx...
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
Si la discussion est résolue, merci de cliquer sur le bouton
Bonjour Laurent...
Je crois que tu as un train de retard.....
Bonsoir merci à tous,
En fait j'ai fait un b..... de copier-coller, mais le résultat est le même avec le i en plus...
Par contre, j'ai effectivement déjà lu les informations sur les : mysqli_fetch_assoc et mysqli_fetch_all.
OK j'ai compris leur fonction.
Bon ça fonctionne avec la boucle while, mais pas avec foreach...
Mais il y a apparemment énormément de façon de faire...
Je ne fais que ça de lire les tutos, mais comme bien évidemment mes besoins sont particulier...
Je pense bien que l'on écrit pas "au petit bonheur la chance", Jérôme...
J'avoue qu'avec le boulot au bureau, à la maison et le reste ça ne fait pas beaucoup pour apprendre le développement.
Enfin, je ne me plaint pas, je suppose qu'on en est tous là...
Merci encore à tous.
Aller je continu, j'ai la récupération des checkboxs à faire maintenant.
Bonne soirée ou journée pour les antipodes !
Bonjour a tous !
Ça y est le formulaire fonctionne en enregistrement !
Pour info :
Votre avis sur le code est le bien venu...
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164 <?php // Parametres mysql define('DB_SERVER', 'localhost'); // serveur mysql define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur define('DB_SERVER_PASSWORD', ''); // mot de passe define('DB_DATABASE', 'materiels'); // nom de la base // Connexion au serveur mysql $connect = mysqli_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE) or die('Impossible de se connecter : ' . mysqli_error()); // sélection de la base de données $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis: <br/><br/>"; $msg_erreur2 = "Oops !!! Il doit manquer quelques choses."; $msg_ok = "Matériel enregistré."; $message = $msg_erreur; $message2 = $msg_erreur2; $MARQUE = $_POST['MARQUE']; $MODELE = $_POST['MODELE']; $SN = $_POST['SN']; $IMEI = $_POST['IMEI']; $SIM = $_POST['SIM']; $NUMERO = $_POST['NUMERO']; $VALEUR = $_POST['VALEUR']; $COMPTE = $_POST['COMPTE']; $EQUIP = (!empty($_POST['EQUIPEMENTS']) ) ? $_POST['EQUIPEMENTS'] : array(); $NOM = $_POST['NOM']; $PRENOM = $_POST['PRENOM']; $EMAIL = $_POST['EMAIL']; $SERVICE = $_POST['SERVICE']; $DATEREMISE = $_POST['DATEREMISE']; $remise = (!empty($_POST['remise'])) ? $_POST['remise'] : array(); $DATERETOUR = $_POST['DATERETOUR']; $retour = $_POST['retour']; $COMMENTS = $_POST['COMMENTS']; // vérification des champs if (empty($MARQUE)) { $message .= "MARQUE DU MOBILE<br/>"; } if (empty($MODELE)) { $message .= "MODELE DU MOBILE<br/>"; } if (empty($SN)) { $message .= "S/N DU MOBILE<br/>"; } if (empty($IMEI)) { $message .= "IMEI<br/>"; } if (empty($SIM)) { $message .= "SIM<br/>"; } if (empty($NUMERO)) { $message .= "NUMERO DE MOBILE<br/>"; } if (empty($VALEUR)) { $message .= "VALEUR DU MOBILE<br/>"; } if (empty($COMPTE)) { $message .= "NUMERO DU COMPTE<br/>"; } if (empty($NOM)) { $message .= "NOM<br/>"; } if (empty($PRENOM)) { $message .= "PRENOM<br/>"; } if (empty($EMAIL)) { $message .= "EMAIL<br/>"; } if (empty($SERVICE)) { $message .= "SERVICE<br/>"; } if (empty($DATEREMISE)) { $message .= "DATE DE REMISE<br/>"; } if (empty($remise)) { $message .= "ETAT DE REMISE<br/>"; } if (!empty($DATERETOUR)) { } if (!empty($retour)) { } if (!empty($COMMENTS)) { } // si un champ est vide, on affiche le message d'erreur if (strlen($message) > strlen($msg_erreur)) { echo $message; // sinon c'est ok } else { if (!empty($MARQUE)) { $requete = "INSERT INTO `telephone_mobile` (MARQUE, MODELE, VALEUR) VALUES ('" . $MARQUE . "', '" . $MODELE . "', '" . $VALEUR . "')"; $resultat = mysqli_query($connect, $requete); } if ($resultat) { echo "Téléphone mobile enregistré" . "<br>"; $ID_MOBILE = mysqli_insert_id($connect); // on récupère l'id créé } else { echo "Error: " . $requete . "<br>" . mysqli_error($connect); } if (!empty($SIM)) { $requete = "INSERT INTO `ligne_mobile` (SIM, NUMERO, COMPTE) VALUES ('" . $SIM . "', '" . $NUMERO . "', '" . $COMPTE . "')"; $resultat = mysqli_query($connect, $requete); } if ($resultat) { echo "Ligne enregistré" . "<br>"; $ID_LIGNE = mysqli_insert_id($connect); // on récupère l'id créé } else { echo "Error: " . $requete . "<br>" . mysqli_error($connect); } if (!empty($NOM)) { $requete = "INSERT INTO user (NOM, PRENOM, EMAIL, SERVICE) VALUES ('" . $NOM . "', '" . $PRENOM . "', '" . $EMAIL . "', '" . $SERVICE . "')"; $resultat = mysqli_query($connect, $requete); } if ($resultat) { echo "User enregistré" . "<br>"; $ID_AGENT = mysqli_insert_id($connect); // on récupère l'id créé } else { echo "Error: " . $requete . "<br>" . mysqli_error($connect); } if (!empty($ID_AGENT)) { $requete = "INSERT INTO `user_mobile` (ID_AGENT, ID_MOBILE, ID_LIGNE, IMEI, SN, DATEREMISE, ETAT_REMISE, DATERETOUR, ETAT_RETOUR, COMMENTS) VALUES ('" . $ID_AGENT . "', '" . $ID_MOBILE . "', '" . $ID_LIGNE . "', '" . $IMEI . "', '" . $SN . "', '" . $DATEREMISE . "', '" . $remise . "', '" . $DATERETOUR . "', '" . $retour . "', '" . $COMMENTS . "')"; $resultat = mysqli_query($connect, $requete); } if ($resultat) { echo "User mobile enregistré" . "<br>"; $ID_USER_MOBILE = mysqli_insert_id($connect); // on récupère l'id créé } else { echo "Error: " . $requete . "<br>" . mysqli_error($connect); } if (!empty($EQUIP)) { foreach ($EQUIP as $values) { $requete = "INSERT INTO user_mobile_equipt (ID_USER_MOBILE, ID_EQUIPEMENT ) VALUES ('" . $ID_USER_MOBILE . "', '" . $values . "')"; $resultat = mysqli_query($connect, $requete); } } if ($resultat) { echo "Equipement enregistré" . "<br>"; } else { die('ERREUR : ' . mysqli_error($connect)); echo "Error: " . $requete . "<br>" . mysqli_error($connect); } } if ($resultat) { echo $msg_ok; mysqli_close($connect); } else { echo $message2; }
Bon j'ai encore du boulot, vu que maintenant j'aimerai interroger la base via un autre formulaire qui me servira également à modifier les fiches utilisateurs...
Donc je n'ai pas finis d'apprendre
Je ne manquerai pas de revenir vers vous, si besoin... ;-) merci pour votre aide.
PS je ne manquerai pas de passer le post en résolu !
A bientôt.
Bonjour Jean-Michel,
enfin ça fonctionne ?
Plusieurs remarques (parmi d'autres) :
1/ Mets des commentaires (explications) dans ton code :
si tu dois le modifier un jour (ou quelqu'un d'autre)...
2/ on ne met JAMAIS de données directement dans une requête sans précaution !
=> vois les "requêtes préparées mysqli_" avec mysqli_prepare() et bind_param().
3/ autre manière plus "élégante" :
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 <?php // ------------------- // GESTION DES ERREURS $msg_erreur = ''; // champs obligatoires $champs_obligatoires = array(); if (empty($MARQUE)) { $champs_obligatoires[] = "MARQUE DU MOBILE"; } if (empty($MODELE)) { $champs_obligatoires[] = "MODELE DU MOBILE"; } if (empty($SN)) { $champs_obligatoires[] = "S/N DU MOBILE"; } if (empty($IMEI)) { $champs_obligatoires[] = "IMEI"; } if (empty($SIM)) { $champs_obligatoires[] = "SIM"; } if (empty($NUMERO)) { $champs_obligatoires[] = "NUMERO DE MOBILE"; } if (empty($VALEUR)) { $champs_obligatoires[] = "VALEUR DU MOBILE"; } if (empty($COMPTE)) { $champs_obligatoires[] = "NUMERO DU COMPTE"; } if (empty($NOM)) { $champs_obligatoires[] = "NOM"; } if (empty($PRENOM)) { $champs_obligatoires[] = "PRENOM"; } if (empty($EMAIL)) { $champs_obligatoires[] = "EMAIL"; } if (empty($SERVICE)) { $champs_obligatoires[] = "SERVICE"; } if (empty($DATEREMISE)) { $champs_obligatoires[] = "DATE DE REMISE"; } if (empty($remise)) { $champs_obligatoires[] = "ETAT DE REMISE"; } if( !empty($champs_obligatoires) ){ $msg_erreur .= "Erreur. Les champs suivants doivent être obligatoirement remplis:<br/>"; $msg_erreur .= implode( "<br/>", $champs_obligatoires ); } // -------------------
Dernière modification par Invité ; 12/03/2015 à 01h06.
Merci beaucoup pour ton aide Jérôme.
Ton exemple est plus élégant, mais là je n'ai pas le résultat attendu.
Pas grave, vu que c'est pour un outil de travail interne, je reste avec la version fonctionnelle.
Maintenant, je vais continuer, sur mes menus déroulant avec interrogation de la base.
Je ne manquerai pas d'ouvrir un nouveau post en cas de besoin.
Merci a tous.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager