Les balises ne seront pas prises en compte.innerHTML est risqué un peu essaie avec innerText
revoila mon code, j ai utiliser firebug et pas d erreur :
je n arrive pas a incrementer ma variable nbre pour afficher les lignes correspondant a mon limit $i
voila le code :
page principale :mon script js :
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 <?php include 'Includes/connection.php'; ?> <html> <head><title>Formulaire de saisie d'une nouvelle methode </title></head> <script type='text/JavaScript' src="ajax_follow.js"></script> <body> <h2>Veuillez saisir les donnees de votre methode :</h2> <form name="method" method="post"> <?php //On se connecte connectMaBase(); // requête SQL qui compte le nombre total d'enregistrements dans la table et qui //récupère tous les enregistrements $i=0; $select = 'SELECT idmethode,nom,description,lien FROM methode limit '.$i.',3 '; $result = mysql_query($select) or die ('Erreur : '.mysql_error() ); $total = mysql_num_rows($result); // si on a récupéré un résultat on l'affiche. if($total) { // début du tableau echo '<div id="methode">'; echo '<table align="center" width="728" border="0" bgcolor="#FFFFFF">'."\n"; echo '<tr>'; echo '<td bgcolor="#669999" width="101">IdMethode</td>'; echo '<td bgcolor="#669999" width="101">Nom</td>'; echo '<td bgcolor="#669999" width="140">Description</td>'; echo '<td bgcolor="#669999" width="145">Lien</td>'; echo '</tr>'."\n"; // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne. while($row = mysql_fetch_array($result)) { echo '<tr>'; echo '<td bgcolor="#CCCCCC">'.$row['idmethode'].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row['nom'].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row['description'].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row['lien'].'</td>'; echo '</tr>'."\n"; } echo '</table>'."\n"; // fin du tableau. echo '</div>'; } else echo 'Pas d\'enregistrements dans cette table...'; // on libère le résultat mysql_free_result($result); ?> <input type="hidden" id="nbre" value="0"> <input type="button" value="Suivant" onClick="javascript:follow()"/> <br/> <br/> </form> </body> </html>et mon script 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 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 follow(){ var xhr = getXhr(); var nbre=0; // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function() { if(xhr.readyState !=4){ document.getElementById('methode').innerHTML='Chargement en cours'} else {document.getElementById('methode').innerHTML=xhr.responseText} } // Ici on va voir comment faire du post xhr.open("POST","ajax_follow1.php",true); // ne pas oublier ça pour le post xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // ne pas oublier de poster les arguments nbre+=3; document.getElementById('nbre').value = nbre; xhr.send("i="+nbre); }je veux juste savoir ce que je doit mettre pour récupérer le $_POST['i'] pour pouvoir l incrementer
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 <?php header('Content-Type: text/plain; charset=ISO-8859-1'); if (isset($_POST['i'])){ $i=$_POST['i']; //On se connecte mysql_connect("localhost","root",""); mysql_select_db("assvisual"); // requête SQL qui compte le nombre total d'enregistrements dans la table et qui //récupère tous les enregistrements $select = 'SELECT idmethode,nom,description,lien FROM methode limit '.$i.',3'; $result = mysql_query($select) or die ('Erreur : '.mysql_error() ); $total = mysql_num_rows($result); // si on a récupéré un résultat on l'affiche. if($total) { // début du tableau echo '<table align="center" width="728" border="0" bgcolor="#FFFFFF">'."\n"; echo '<tr>'; echo '<td bgcolor="#669999" width="101">IdMethode</td>'; echo '<td bgcolor="#669999" width="101">Nom</td>'; echo '<td bgcolor="#669999" width="140">Description</td>'; echo '<td bgcolor="#669999" width="145">Lien</td>'; echo '</tr>'."\n"; // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne. while($row = mysql_fetch_array($result)) { echo '<tr>'; echo '<td bgcolor="#CCCCCC">'.$row['idmethode'].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row['nom'].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row['description'].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row['lien'].'</td>'; echo '</tr>'."\n"; } echo '</table>'."\n"; // fin du tableau. } else echo 'Pas d\'enregistrements dans cette table...'; // on libère le résultat mysql_free_result($result); } ?>
sinon je crois que l input de type hidden je peut le remplacer mais si je l omet sa passe plu ma requete
je bloque merci pour votre aide
Normale que tu ne peux pas incrémenter pour la limite
tu initialises toujours nbre par 0 et document.getElementById('nbre').value sera toujour 3var nbre=0;....
nbre+=3;
document.getElementById('nbre').value = nbre;
ça devrait marché mais je te conseille une autre méthode, tu incrémentes nbre par 1 en tu le multiplie par 3 au niveau serveur. Ainsi c'est le rang de la page qui est stocké dans nbre et tu peux mettre des liens pour afficher chaque page en postant sont rang.
Code : Sélectionner tout - Visualiser dans une fenêtre à part var nbre=document.getElementById('nbre').value
Partager