Bonjour à tous,
Je découvre l'Ajax, car j'ai enfin un peu le temps de m'y mettre, et je souhaiterais comme exercice faire un truc tout simple :
J'ai un lien html qui affiche le genre d'un membre : homme ou femme
Si on clique sur ce lien et qu'on est un homme ca le change en femme et vice et versa.
Aussi lorsque je clique sur le lien, ca met à jour la base de données, en envoyant deux variables : l'ID du membre et le genre
Voici ce que j'ai fait pour l'instant :
Dans mon head :
mon 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 <script type="text/javascript"> 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 genre(){ var xhr = getXhr() // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState == 4 && xhr.status == 200){ alert(xhr.responseText); } } xhr.open("GET","ajax_membre_genre.inc.php?",true); xhr.send(null); } </script>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <div id="contenu_genre" style="float:left;"> <a href="#" onclick="genre();" class="lienGras">Homme</a></div>
et mon php :
le php fnctionne, mais ce que je n'arrive pas a mettre en place c'est la liaison entre ces éléments, j'ai cherché un peu partout sur le forum, mais n'est pas trouvé d'explications.
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 $sSql=" UPDATE matable SET genre= ? WHERE id_membre = ? "; $oSth = $GLOBALS['BDD']->prepare($sSql); $oSth->execute(array($_GET['genre'], $_GET['id_membre'])); switch($_GET['genre']){ case 0 : // le membre est un homme echo '<a href="#" onclick="genre();" class="lienPetitNoir">homme</a>'; break; case 1 : // le membre est une femme echo '<a href="#" onclick="genre();" class="lienGras">femme</a>'; break; }
Merci de votre aide
Partager