Pagination php

imad88madi Messages postés 3 Statut Membre -  
NHenry Messages postés 15221 Date d'inscription   Statut Modérateur Dernière intervention   -
bonjour,
j ai realiser une petite application ,mais lorsque je voulais afficher le resultat de la recherche en mode paginé,la premiere pase etait correcte mais 2-3-4-5 les champs 'post' est vide.


$s4 = "SELECT * FROM fournisseur  WHERE nom = '$four'" ;  
$rr = mysql_query($s4, $cnx) or die( mysql_error() ) ;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   $re = mysql_query($s4) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$li=mysql_fetch_array($rr);
$id_four=$li['id_fournisseur'];

$date = str_replace('/', '-', $datedb);
$date1=  date('Y-m-d', strtotime($date));

$datee = str_replace('/', '-', $datefn);
$date2=  date('Y-m-d', strtotime($datee));
if($solde=='tous') // SI le solde n est important  
{

if( isset($_GET['page']) && is_numeric($_GET['page']) )
    $page = $_GET['page'];
else
    $page = 1;

// Nombre d'info par page
$pagination = 5;

// Numéro du 1er enregistrement à lire
$limit_start = ($page - 1) * $pagination;

$s = "SELECT  DISTINCT * FROM facture  WHERE id_fournisseur = '$id_four' and datefacture >'$date1' and datefacture <'$date2' LIMIT $limit_start, $pagination" ;  
$r = mysql_query($s, $cnx) or die( mysql_error() ) ; 
$nblignes = mysql_num_rows($r);

 echo "<table  class='table table-bordered'  id='tabaff'><tr><td>     N°facture    </td><td> date facture </td><td>fournisseur  </td> <td> payement</td><td> afficher la facture</td></tr>\n";
 
 for ($i=0;$i<$nblignes;$i=$i+1) 
   {
    // recuperer tous les id_da de bc
  $numfact =  mysql_result($r,$i,"numfact");
  $datefact =  mysql_result($r,$i,"datefacture");
 $et =  mysql_result($r,$i,"etat");

 echo "<tr><td> <input name='numfact$i' type='text' value= $numfact  class='form-control' id='exampleInputName2' readonly ></td><td> <input type='text' value=$datefact  name='datefact$i' class='form-control' id='exampleInputName2'readonly ></td><td> <input type='text' name='four$i'value=$four class='form-control' id='exampleInputName2'readonly > </td><td> <input type='text' value=$et  class='form-control' id='exampleInputName2'readonly ></td> <td><input type='submit' class='btn btn-default'  id='aff'+i  onClick='checkBtn(event)' value='afficher' name='$i'></td></tr>";

}     

echo "</table>";
$s = "SELECT  count(id_fact) FROM facture  WHERE id_fournisseur = '$id_four' and datefacture >'$date1' and datefacture <'$date2'" ;  
$r = mysql_query($s, $cnx) or die( mysql_error() ) ; 
$nb_total=mysql_fetch_array($r);
$nb_total = $nb_total['count(id_fact)'];
$nb_pages=ceil($nb_total/$pagination);

echo '<p class="pagination">' . pagination($page, $nb_pages) . '</p>';

             
}


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

NHenry Messages postés 15221 Date d'inscription   Statut Modérateur Dernière intervention   366
 
Sans regarder plus le code :

Petit rappel, l'extension mysql est obsolète

Indentes ton code, tu verras mieux les blocs, car ton code est limite lisible.

Penses aussi à la coloration syntaxique sur le forum, ça permet de lire plus facilement le code.
0