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 :

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 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
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>";
  }
 }
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
 
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);
 }
 }
Et, enfin, mon fichier ajaxMajListeInv.php :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<?php
 if(!empty($_POST['limiteInf']))
  affInv($_POST['limiteInf']);
?>
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.

Est-ce que quelqu'un aurait une idée?

Merci d'avance pour vos réponses.

Christophe