A toi de savoir à quoi ca sert ....
A toi de savoir à quoi ca sert ....
Le script qui me bloque les message alert sert à initialiser la liste déroulante mais également à l'afficher ma liste déroulante en jquery avec comme valeur initiale : Paris.
J'ai un peu retouché le scripe en enlevant :et j'ai l'erreur suivante qui s'affiche desormais : Parse error: syntax error, unexpected T_WHILE in C:\wamp\www\Projet_isep\_inclus\afficher-carrousel-ville-ajax.php on line 20
Code : Sélectionner tout - Visualiser dans une fenêtre à part if(xhr.readyState==4 && xhr.status==200)
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 <?php header('Content-Type: text/xml'); $idville = $_POST['idville']; //on récupère idville if(is_numeric($idville)) { // on protège la bdd ?> <div class="anyClass"> <ul> <?php try { // connexion a la bdd $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=projet_isep', 'root', '', $pdo_options); // requete : infos pour cette ville $requete = "SELECT * FROM deals WHERE zoneiddeal = '".$idville."';"; $reponse = $bdd->query('$requete') // On affiche chaque entrée une à une while ($donnees = $reponse->fetch()) { ?> <li><a href="<?php echo '#'.$donnees['id']?>" class="tooltiplink"><img src="images/<?php echo $donnees['image']; ?>.jpg" alt="" width="100" height="100" ></a></li> <?php } // fin while $reponse->closeCursor(); // Termine le traitement de la requête } // fin try catch(Exception $e) { // En cas d'erreur précédemment, on affiche un message et on arrête tout die('Erreur : '.$e->getMessage()); } // fin catch ?> </ul> </div> <?php } // fin if is_numeric ?>
Tu fais quoi, là ??
adam je t'ai dit d'arrêter la bidouille !
Tu enlèves une ligne indispensable à Ajax, tu ne sais absolument pas ce que tu fais !
Lis un cours sur Ajax, PHP, Javascript, et uniquement après reviens coder.
Avant toute chose : lire le mode d'emploi du forum et ses règles.
Je ne réponds pas aux questions techniques en MP.
Merci FirePrawn,
il est en effet temps d'arrêter le massacre ...
... au moins pour ce soir.
Une bonne bière , ... un suppo et au lit !
J'ai conserver le script suivant sans toucher au lignes et j'ai bien les message alert 2 et alert 3 :
j'ai l'erreur suivante qui s'affiche sur ma page web : Parse error: syntax error, unexpected T_WHILE in C:\wamp\www\Projet_isep\_inclus\afficher-carrousel-ville-ajax.php on line 20
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 <script type="text/javascript"> /* INITIALISATON AJAX (OBLIGATOIRE) */ function getXhr(){ var xhr = null; if(window.XMLHttpRequest) { /* Firefox et autres */ xhr = new XMLHttpRequest(); } else if(window.ActiveXObject) { /* Internet Explorer */ try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { /* XMLHttpRequest non supporté par le navigateur */ alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr; }; function AffichageCarrouselAjax(idselect) { //alert('ok 1'); // recuperation id de la ville selectionnee var selt = document.getElementById(idselect); var idville = selt.options[selt.selectedIndex].value; var xhr = getXhr(); var htmltexte = ''; //alert('idville : '+idville); xhr.onreadystatechange = function() { alert('ok 2'); // si on a tout reçu et que le serveur est ok if(xhr.readyState==4 && xhr.status==200){ alert('ok 3'); htmltexte = xhr.responseText; // CARROUSEL : On remplit le DIV contenant le carrousel document.getElementById('idcarrousel').innerHTML = htmltexte; } } // fichier a executer et envoi des parametres par POST xhr.open("POST","./_inclus/afficher-carrousel-ville-ajax.php",true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // on poste les parametres au fichier php xhr.send("idville="+idville); }; </script>
Je vais tacher de continuer de mon coté et vous faire part de mon avancement, merci à vous et bonne soirée.
Je pense avoir presque reussi à faire fonctionné le script ajax, je m'explique.
Suite à la dernière erreur j'ai rectifier le code afficher-carrousel-ville-ajax.php en l'écrivant comme cela :
Cette fois ci tout se déroule bien sur ma page à l'exception que je n'ai plus mon carrousel, je pense qu'aucune image ne s'est affichée et ma liste déroulante est bloquée sur la ville sélectionnée.
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 <?php header('Content-Type: text/xml'); $idville = $_POST['idville']; //on récupère idville if(is_numeric($idville)) { // on protège la bdd ?> <div class="anyClass"> <ul> <?php try { // connexion a la bdd $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=projet_isep', 'root', '', $pdo_options); // requete : infos pour cette ville //$requete = "SELECT * FROM deals WHERE zoneiddeal = '".$idville."';"; //$reponse = $bdd->query('$requete') $reponse = $bdd->query('SELECT * FROM deals WHERE zoneiddeal = '.$idville.';'); // On affiche chaque entrée une à une while ($donnees = $reponse->fetch()) { ?> <li><a href="<?php echo '#'.$donnees['id']?>" class="tooltiplink"><img src="images/<?php echo $donnees['image']; ?>.jpg" alt="" width="100" height="100" ></a></li> <?php } // fin while $reponse->closeCursor(); // Termine le traitement de la requête } // fin try catch(Exception $e) { // En cas d'erreur précédemment, on affiche un message et on arrête tout die('Erreur : '.$e->getMessage()); } // fin catch ?> </ul> </div> <?php } // fin if is_numeric ?>
J'ai donc jeter un oeil à la console d'erreur et voici les 2 erreurs qui s’affichent :
1 )Erreur*: _gat is not defined
Fichier Source*: http://localhost/Projet_isep/projet_isep.php
Ligne*: 78
2) Erreur*: balise ne correspondant pas. Attendu*: </img>.
Fichier Source*: http://localhost/Projet_isep/_inclus...ville-ajax.php
Ligne*: 3, Colonne*: 101
Code Source*:
<li><a href="#2" class="tooltiplink"><img src="images/f1.jpg" alt="" width="100" height="100" ></a></li>
Alors là je vais lancer les dés et je pense que tu peux remplacer _gat par _get (si j'ai bon je vais jouer une petite grille )
Ta balise <img> n'est pas correctement fermée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <li> <a href="#2" class="tooltiplink"> <img src="images/f1.jpg" alt="" width="100" height="100" /> </a> </li>
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
J'ai correctement fermé la balise img et je n'ai plus le second message mais j'ai toujours la première erreur :
Erreur*: _get is not defined
Fichier Source*: http://localhost/Projet_isep/projet_isep.php
Ligne*: 78
J'ai donc mis en commentaire le script suivant pour le moment :
Ainsi je n'ai plus d'erreur mais après avoir changé de ville et donc lancé ajax je n'ai plus mon carrousel, aucune image ne s'est affichée et ma liste déroulante reste bloquée sur la ville sélectionnée.
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 <script type="text/javascript"> // var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); // document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); // var pageTracker = _gat._getTracker("UA-3298334-1"); // pageTracker._initData(); // pageTracker._trackPageview(); // $(".anyClass img[title]").tooltip({effect: 'bouncy'}); // // create custom animation algorithm for jQuery called "bouncy" // $.easing.bouncy = function (x, t, b, c, d) { // var s = 1.70158; // if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; // return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; // } // // create custom tooltip effect for jQuery Tooltip // $.tools.tooltip.addEffect("bouncy", // // opening animation // function(done) { // this.getTip().animate({top: '+=15'}, 500, 'bouncy', done).show(); // }, // // closing animation // function(done) { // this.getTip().animate({top: '-=15'}, 500, 'bouncy', function() { // $(this).hide(); // done.call(); // }); // } // ); // $(".anyClass img[title]").tooltip({effect: 'bouncy'}); </script>
est-ce que tu as essayé de remplacer _gat par _ga ou ga ?_gat correspond à Google analytics donc _ga ou ga, bref faut essayer en fonction de ce qui est défini dans "google-analytics.com/ga.js'
Code : Sélectionner tout - Visualiser dans une fenêtre à part var pageTracker = _gat._getTracker("UA-3298334-1");
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
je viens d'essayer et c'est toujours la même chose avec la même erreur,
en revanche j'ai mis dans afficher-carrousel-ville-ajax.php :
et j'ai bien le TEST !! qui s'affiche à l'écran, mais si je le mets comme cela :
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 <?php header('Content-Type: text/xml'); $idville = $_POST['idville']; //on récupère idville if(is_numeric($idville)) { // on protège la bdd ?> <?php echo 'TEST !!' ; ?> <div class="anyClass"> <ul> </ul> </div> <?php } // fin if is_numeric ?>
Le message TEST !! n'apparait plus.
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 <?php header('Content-Type: text/xml'); $idville = $_POST['idville']; //on récupère idville if(is_numeric($idville)) { // on protège la bdd ?> <div class="anyClass"> <ul> <?php echo 'TEST !!' ; ?> </ul> </div> <?php } // fin if is_numeric ?>
Je reste sur ton problème de _gat, j'ai regardé la lib de google et je t'invite à en faire de même : GoogleAnalytics Tu verras de _getTracker est noté deprecated et a été remplacé par _createTracker()
Ensuite le fait que _gat n'existe pas, ne vient pas d'un problème de la lib mais de ton navigateur : Tapes dans google : "_gat is not defined" et tu verras comment résoudre le problème. Voici ce que tu trouveras :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 This error occurs when users have some AdBlockers (like the HOSTS file fix that redirects hundreds of known ad sites into address 127.0.0.1). The error that is shown in the JS console is _gat is not defined
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
J'ai trouvé une solution sur un forum anglais, voila je n'ai plus d'erreur :
Cependant j'ai toujours mon problème avec la méthode ajax
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 <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); if (typeof(_gat) == 'object') { var pageTracker = _gat._getTracker("UA-3298334-1"); pageTracker._initData(); pageTracker._trackPageview(); } // $(".anyClass img[title]").tooltip({effect: 'bouncy'}); // // create custom animation algorithm for jQuery called "bouncy" // $.easing.bouncy = function (x, t, b, c, d) { // var s = 1.70158; // if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; // return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; // } // // create custom tooltip effect for jQuery Tooltip // $.tools.tooltip.addEffect("bouncy", // // opening animation // function(done) { // this.getTip().animate({top: '+=15'}, 500, 'bouncy', done).show(); // }, // // closing animation // function(done) { // this.getTip().animate({top: '-=15'}, 500, 'bouncy', function() { // $(this).hide(); // done.call(); // }); // } // ); // $(".anyClass img[title]").tooltip({effect: 'bouncy'}); </script>
Bonjour adam974,
encore en train de te débattre ?
A ta place, j'arrêterais de m'acharner.
Tu te débats dans des sables mouvants, et plus tu gigotes, plus tu t'enfonces ...
=> je reprendrais TOUT depuis le DEBUT :
-> d'abord, UNIQUEMENT le code NECESSAIRE et SUFFISANT pour que ca fonctionne : formulaire, partie ajax.
-> ensuite seulement, j'ajouterais, progressivement, les tooltip et autre fioritures ...
C'est la seule manière de faire quelque chose de propre et efficace, sans se faire trop de cheveux blancs ...
ps : ceci est le .... 115ème message !!
Tu me fais penser à un gars qui veux faire du "tuning" (jantes alu brossé, volant en cuir, becquet arrière, ...)
sur une voiture ... qui n'a ni moteur ni roues ...
Je viens de tout reprendre depuis le début,
J'arrive finalement à bien afficher les images des villes que je sélectionne mais elles n'apparaissent plus dans le carrousel après avoir fait un choix dans la liste déroulante.
Le problème venait apparemment de la balise div qui était dans une autre balise div et du "items" qui était envoyé dans la fonction onchange.
page principale :
et mon code afficher....php :
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
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>Projet ISEP</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" type="text/css" media="screen" href="css/screen.css" /> <style type="text/css" media="screen"> .tooltip{width:200px;margin:0;padding:5px;font-size:11px;color:#666;background:#fff;border:5px solid #ccc;} .tooltip p{margin:0;text-align:justify;} </style> <script type="text/javascript"> /* INITIALISATON AJAX (OBLIGATOIRE) */ function getXhr(){ var xhr = null; if(window.XMLHttpRequest) { /* Firefox et autres */ xhr = new XMLHttpRequest(); } else if(window.ActiveXObject) { /* Internet Explorer */ try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { /* XMLHttpRequest non supporté par le navigateur */ alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr; }; function AffichageCarrouselAjax(idselect) { //alert('ok 1'); // recuperation id de la ville selectionnee var xhr = getXhr(); var htmltexte = ''; //alert('idville : '+idville); xhr.onreadystatechange = function() { //alert('ok 2'); // si on a tout reçu et que le serveur est ok if(xhr.readyState==4 && xhr.status==200){ htmltexte = xhr.responseText; // CARROUSEL : On remplit le DIV contenant le carrousel document.getElementById('idcarrousel').innerHTML = htmltexte; } } // fichier a executer et envoi des parametres par POST xhr.open("POST","_inclus/afficher-carrousel-ville-ajax.php",true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // on poste les parametres au fichier php xhr.send("idville="+idselect); alert('idville : '+idselect); }; </script> <!-- Script initialisation jquery --> <script type="text/javascript" charset="utf-8" src="http://code.jquery.com/jquery-1.6.2.min.js"></script> <script type="text/javascript" src="lib/jquery.selectbox-0.5.js"></script> <script type="text/javascript" src="lib/jquery.qtip-1.0.0-rc3.js"></script> <script src="lib/custom.js" type="text/javascript"></script> <script type="text/javascript" src="lib/jquery.simpletooltip-min.js"></script> <script type="text/javascript"> // var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); // document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); // var pageTracker = _gat._getTracker("UA-3298334-1"); // pageTracker._initData(); // pageTracker._trackPageview(); // $(".anyClass img[title]").tooltip({effect: 'bouncy'}); // // create custom animation algorithm for jQuery called "bouncy" // $.easing.bouncy = function (x, t, b, c, d) { // var s = 1.70158; // if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; // return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; // } // // create custom tooltip effect for jQuery Tooltip // $.tools.tooltip.addEffect("bouncy", // // opening animation // function(done) { // this.getTip().animate({top: '+=15'}, 500, 'bouncy', done).show(); // }, // // closing animation // function(done) { // this.getTip().animate({top: '-=15'}, 500, 'bouncy', function() { // $(this).hide(); // done.call(); // }); // } // ); // $(".anyClass img[title]").tooltip({effect: 'bouncy'}); $(document).ready(function() { $(function() { $(".anyClass").jCarouselLite({ btnNext: ".next", btnPrev: ".prev" }); $("a.tooltiplink").simpletooltip(); $("a.clic").simpletooltip({click: true}); $("a.delay").simpletooltip({hideDelay: 0.5}); $("#demo_1").simpletooltip({ margin: 10 }); $("#demo_2").simpletooltip({ showEffect: "fadeIn", hideEffect: "fadeOut" }); $("#demo_3").simpletooltip({ showEffect: "slideDown", hideEffect: "slideUp" }); $("#demo_4").simpletooltip({ showEffect: "show", hideEffect: "hide" }); $("#demo_5").simpletooltip({ click: true }); $("#demo_6").simpletooltip({ hideDelay: 0.5 }); $("#demo_7").simpletooltip({ click: true, hideOnLeave: false }); $("#demo_8").simpletooltip({ callback: function(tooltip){ window.alert('Callback : affichage de la tooltip #'+tooltip.id); } }); $("#demo_9").simpletooltip({ customTooltip: function(target){ return '<p style="width:200px;height:50px;margin:0;padding:10px;background:#fff;border:1px solid #000;">Texte de l\'élément survolé :<br /> "'+ $(target).text() +'" </p>'; }, showEffect: "fadeIn", hideEffect: "fadeOut" }); }); }); </script> <script type="text/javascript"> // function f(content){ // alert(content.html()); // } // $(function(){ $("select:eq(0)").imgDropDown({title:"Paris"}); }); </script> </head> <body background="fond/1.jpg"> <div id="en_tete"> <!-- Ici on mettra la bannière --> </div> <div id="menu"> <!-- Ici on mettra le menu --> </div> <div id="corps"> <!-- Ici on mettra le contenu principal de la page (tout le texte quoi) --> </div> <div id="pied_de_page"> <!-- Enfin, on mettra en bas de la page le nom de l'auteur, un copyright... --> </div> <div class="option"> <form method="post" action="projet_isep.php" id="form_items" name="form_items"> <select name="Items" id="Items" onchange="AffichageCarrouselAjax(this.options[this.selectedIndex].value);"> <?php try { // On se connecte à MySQL $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=projet_isep', 'root', '', $pdo_options); // On récupère tout le contenu de la table jeux_video $reponse = $bdd->query('SELECT * FROM villes'); // On affiche chaque entrée une à une while ($donnees = $reponse->fetch()) { ?> <option value="<?php echo $donnees['id']; ?>"><?php echo $donnees['nom']; ?></option> <?php } $reponse->closeCursor(); // Termine le traitement de la requête } catch(Exception $e) { // En cas d'erreur précédemment, on affiche un message et on arrête tout die('Erreur : '.$e->getMessage()); } ?> </select> </form> </div> <div id="conteneur"> <button class="prev"><<</button> <button class="next">>></button> </div> <div id="idcarrousel" class="anyClass"> <ul> <?php try { // On se connecte à MySQL $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=projet_isep', 'root', '', $pdo_options); // On récupère tout le contenu de la table jeux_video $reponse = $bdd->query('SELECT * FROM deals'); // On affiche chaque entrée une à une while ($donnees = $reponse->fetch()) { ?> <li><a href="<?php echo '#'.$donnees['id']?>" class="tooltiplink"><img src="images/<?php echo $donnees['image']; ?>.jpg" alt="" width="100" height="100" /></a></li> <?php } $reponse->closeCursor(); // Termine le traitement de la requête } catch(Exception $e) { // En cas d'erreur précédemment, on affiche un message et on arrête tout die('Erreur : '.$e->getMessage()); } ?> </ul> </div> <div class="categ"> <form method="post" action="projet_isep.php"> <p> Catégories :<br /><br /> <?php try { // On se connecte à MySQL $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=projet_isep', 'root', '', $pdo_options); // On récupère tout le contenu de la table jeux_video $reponse = $bdd->query('SELECT * FROM categ'); // On affiche chaque entrée une à une while ($donnees = $reponse->fetch()) { ?> <input value="<?php echo $donnees['id']; ?>" name="categ" type="radio" /> <label for="frites"><?php echo $donnees['type']; ?></label><br /> <?php } $reponse->closeCursor(); // Termine le traitement de la requête } catch(Exception $e) { // En cas d'erreur précédemment, on affiche un message et on arrête tout die('Erreur : '.$e->getMessage()); } ?> </p> </form> </div> <?php try { // On se connecte à MySQL $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=projet_isep', 'root', '', $pdo_options); // On récupère tout le contenu de la table jeux_video $reponse = $bdd->query('SELECT * FROM deals'); // On affiche chaque entrée une à une while ($donnees = $reponse->fetch()) { ?> <div id="<?php echo $donnees['id']; ?>" class="tooltip"> <h2><?php echo $donnees['titre']; ?></h2><br /> <p><?php echo 'Description : ' .$donnees['detaildeal']; ?></p><br /> <p><?php echo 'Adresse : ' .$donnees['adressedeal']; ?></p><br /> <p><?php echo 'Expire le : ' .$donnees['findeal']; ?></p><br /> <p><?php echo 'Acheteurs : ' .$donnees['nbacheteur']; ?></p><br /> <p><?php echo 'Veuillez envoyer un SMS au 80918 avec la syntaxe suivante : Prénom Nom ' .$donnees['id']; ?></p><br /> </div> <?php } $reponse->closeCursor(); // Termine le traitement de la requête } catch(Exception $e) { // En cas d'erreur précédemment, on affiche un message et on arrête tout die('Erreur : '.$e->getMessage()); } ?> </body> </html>
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 <?php header('Content-Type: text/xml'); $idville = $_POST['idville']; //on récupère idville if(is_numeric($idville)) { // on protège la bdd ?> <!-- Script initialisation jquery --> <script type="text/javascript"> $(document).ready(function() { $(function() { $("#idcarrousel").jCarouselLite({ btnNext: ".next", btnPrev: ".prev" }); $("a.tooltiplink").simpletooltip(); $("a.clic").simpletooltip({click: true}); $("a.delay").simpletooltip({hideDelay: 0.5}); $("#demo_1").simpletooltip({ margin: 10 }); $("#demo_2").simpletooltip({ showEffect: "fadeIn", hideEffect: "fadeOut" }); $("#demo_3").simpletooltip({ showEffect: "slideDown", hideEffect: "slideUp" }); $("#demo_4").simpletooltip({ showEffect: "show", hideEffect: "hide" }); $("#demo_5").simpletooltip({ click: true }); $("#demo_6").simpletooltip({ hideDelay: 0.5 }); $("#demo_7").simpletooltip({ click: true, hideOnLeave: false }); $("#demo_8").simpletooltip({ callback: function(tooltip){ window.alert('Callback : affichage de la tooltip #'+tooltip.id); } }); $("#demo_9").simpletooltip({ customTooltip: function(target){ return '<p style="width:200px;height:50px;margin:0;padding:10px;background:#fff;border:1px solid #000;">Texte de l\'élément survolé :<br /> "'+ $(target).text() +'" </p>'; }, showEffect: "fadeIn", hideEffect: "fadeOut" }); }); }); </script> <ul> <?php try { // connexion a la bdd $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=projet_isep', 'root', '', $pdo_options); // requete : infos pour cette ville //$requete = "SELECT * FROM deals WHERE zoneiddeal = '".$idville."';"; //$reponse = $bdd->query('$requete') $reponse = $bdd->query('SELECT * FROM deals WHERE zoneiddeal = '.$idville.';'); // On affiche chaque entrée une à une while ($donnees = $reponse->fetch()) { ?> <li><a href="<?php echo '#'.$donnees['id']?>" class="tooltiplink"><img src="images/<?php echo $donnees['image']; ?>.jpg" alt="" width="100" height="100" /></a></li> <?php } // fin while $reponse->closeCursor(); // Termine le traitement de la requête } // fin try catch(Exception $e) { // En cas d'erreur précédemment, on affiche un message et on arrête tout die('Erreur : '.$e->getMessage()); } // fin catch ?> </ul> <?php } // fin if is_numeric ?>
1/ Joins une copie d'écran de temps en temps, qu'on voit ce que ca donne.
2/ quelle est la question ? (et où faut-il regarder ?)
Je pense que la réponse est là : Pourquoi les événements disparaissent après une mise à jour avec AJAX ?
Mais je n'en sais pas plus ...
Une autre approche au lieu de réaffecter les évènements une fois le code réécrit c'est d'utiliser .delegate() dans jQuery : voir ici. Très pratique pour produire du code très léger.
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
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