Voila, je veux utiliser des boutons pour faire diffiler un tableau que je recupere de ma base de donnees par palier de 3 lignes
j utilise un script avec l objet XMLHttpRequest pour le faire de maniere asynchrone (au clique du bouton) mais j arrive pas a passer le nbre lignes pour pouvoir incrementer mon affichage a chaque clique
voila mon code: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 <?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); echo '</table>'."\n"; echo '<table align="center" width="728" border="0" bgcolor="#FFFFFF">'."\n"; echo'<tr>'; echo'<td width="545"> </td>'; echo'<td width="61"><input type="button" value="Precèdent" onClick=""/></td>'; echo'<td width="61"><input type="button" value="Sommaire" onClick=""/></td>'; echo'<td width="61"><input type="button" value="Suivant" onClick="JavaScript:follow();"/></td>'; echo'</tr>'."\n"; echo'</table>'; ?>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 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(); // 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 j=+3; xhr.send("i="+j); }
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'); //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 $i=+3; $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); ?>
Partager