Bonjour
Pour un projet perso. j'ai envi d'essayé AJAX mais malgré le cour j'ai beaucoup de mal a comprendre.
Pour l'instant je transmet une valeur dans un $_post pour incrémenter la base de +1 (un like de plus)
Voilà le code que j'utilise :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $page_texte .= '<form id="like" action="index.' . EXT . '?page=Article&id=' . $_GET['id'] . '" method="post"><input type="hidden" name="like" value="like" /></form><a href="#" onclick="document.getElementById(\'like\').submit()"><i class="icon-thumbs-up"></i></a> <strong>' . $row['article_like'] . '</strong> '; if ( $row['article_like'] > 1 ) { $page_texte .= 'Likes'; } else { $page_texte .= 'Like'; } $page_texte .= '</small></blockquote>';
Ensuite sur LA MEME PAGE :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if ( isset ( $_POST['like'] ) ) { $sql = "UPDATE " . $database->pref . "article_article SET article_like = article_like + 1 WHERE article_id = '" . $_GET['id'] . "';"; $database->Requete ( $sql ) or $database->Erreur ( __LINE__ , __FILE__ , $sql ); $page_texte .= '<script language=javascript>window.history.go(-1);</script>'; }
Donc le rafraichissement ce fait par javascrip mais le soucis c'est que je réactualise la page entière.
Par rapport au http://siddh.developpez.com/articles/ajax/ je pense qu'il faut que j'utilse cette partie de code :
Le soucis qui se pose a moi c'est sur cette partie de code :
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 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 } /** * Méthode qui sera appelée sur le click du bouton */ function go(){ 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.php",true); xhr.send(null); }
Comment faire vu que je travaille sur une seule page pour faire l'actualisation ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 xhr.open("GET","ajax.php",true); xhr.send(null);
Je ne sais pas si je résonne logiquement .... ?????
Merci
Partager