Bonsoir,
J'aimerais afficher les résultats d'une requête par 10.
Page 1 = les 10 premiers, page 2 = les 10 suivants, etc.. et accéder à la page voulue en cliquant sur le numéro adéquat.
Voici mon code :
Au niveau de mon formulaire :
Ma fonction affInv() au niveu de mon fichier fonctionsPhp.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <tr> <div id="liste"> <?php affInv(0); ?> </div> </tr>
Ma fonction (pour l'AJAX) majListeInv() au niveau de mon fichier fonctionsJs.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 function affInv($numPage) { if($numPage) $limiteInf = ($numPage * 10) - 1; else $limiteInf = 0; $connect = connection("../interfaces/gestProd.php"); $requete = "select count(0) from produits_tb"; $result = mysql_query($requete, $connect); @$nb = mysql_fetch_array($result); $requete = "select cle_prod, ordre_liste_prod, denom_prod, (select nom_fourn from fournisseurs_tb where cle_fourn = cde_fournisseur1_prod) from produits_tb where supprime_prod = 0 or supprime_prod = 2 order by ordre_liste_prod limit $limiteInf, 10;"; $resultat = mysql_query($requete, $connect); $num_result = mysql_num_rows($resultat); mysql_close($connect); if($nb[0]) { for($i = 0; $i < $num_result; $i++) { $row = mysql_fetch_array($resultat); echo "<td id='tdcontenu'><input type='text' name='ordreProd' id='ordreProd' value='$row[1]' size='4'><input type='hidden' id='cleProd' value='$row[0]'></td> <td id='tdcontenu'>$row[2]</td> <td id='tdcontenu'>$row[3]</td> <td id='tdcontenu'><input type='text' name='quantite' id='quantite' value='' size='4'></td> </tr>"; } echo "<tr> <td id='tdcontenu'>Pages</td> <td id='tdcontenu' colspan='2'>"; if($nb[0] % 10) $nombreLiens = ($nb[0] / 10) + 1; else $nombreLiens = $nb[0] / 10; for($i = 1; $i <= $nombreLiens; $i++) { if($i != 1) echo " - "; echo "<a href='' onclick='majListeInv($i)'>$i</a>"; } echo " </td>"; } }
Et, enfin, mon fichier ajaxMajListeInv.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 function majListeInv(num) { { xhr = getXhr(); xhr.onreadystatechange = function() { if(xhr.readyState == 4 && xhr.status == 200) { document.getElementById('listeInventaire').innerHTML = xhr.responseText; } } xhr.open("POST",'../transferts/ajaxMajListeInv.php',true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.send("limiteInf="+num); } }
Le problème que je rencontre est que, lorsque je clique sur un numéro de page, mon div ne se met pas à jour. Je pense que c'est dû au fait que mon fichier ajaxMajListeInv.php n'est pas chargé, mais je n'en vois pas la raison.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php if(!empty($_POST['limiteInf'])) affInv($_POST['limiteInf']); ?>
Est-ce que quelqu'un aurait une idée?
Merci d'avance pour vos réponses.
Christophe
Partager