Affichage nombre d'enregistrements en cours sur nombre total
Bonjour,
Le code suivant me permet d'afficher le nombre d'enregistrements retournés par ma requête :
Code:
1 2 3 4 5 6 7 8 9
| $resultat_livre = mysql_query($select_livre)or die('Erreur SQL !'.$select_livre.'<br>'.mysql_error());
$nblignes = mysql_num_rows($resultat_livre); // Affichage nb enregistrements retournés
if ($nblignes !=0) {
echo '<p class="resultat">Résultat de la recherche : '.$nblignes .' occurrence(s) </p>'; }
else {
echo '<p class="resultat"><strong>aucun résultat</strong></p>';} |
J'utilise en complément un système de pagination :
Code:
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
| //DEBUT PAGINATION
/* Numero de page (1 par défaut) */
if( isset($_GET['page']) && is_numeric($_GET['page']) )
$page = $_GET['page'];
else
$page = 1;
/* Nombre d'info par page */
$pagination = 40;
/* Numéro du 1er enregistrement à lire */
$limit_start = ($page - 1) * $pagination;
$requete_pagination = "SELECT COUNT(*) AS nb_total FROM livre ";
$resultat_pagination = mysql_query($requete_pagination) or die('Erreur SQL !'.$requete_pagination.'<br>'.mysql_error());
$nb_total = mysql_fetch_array($resultat_pagination);
$nb_total = $nb_total['nb_total'];
/* Pagination */
$nb_pages = ceil($nb_total / $pagination);
$choix_tri= (iSset($_GET['tri']) ? $_GET['tri'] : null);
$choix_filtre= (iSset($_GET['filtre']) ? $_GET['filtre'] : null);
$sens_tri= (iSset($_GET['senstri']) ? $_GET['senstri'] : null);
$clesearch = (iSset($_GET['clesearch']) ? $_GET['clesearch'] : null);
$search = (iSset($_GET['search']) ? $_GET['search'] : null);
/* Boucle sur les pages */
echo '<p class="nump">[ Page :';
for ($i = 1 ; $i <= $nb_pages ; $i++) {
if ($i == $page ) {
echo '<em>'.$i.'</em>';
}
else {
echo ' <a class="numl" href="?page='.$i.'&tri='.$choix_tri.'&filtre='.$choix_filtre.'&senstri='.$sens_tri.'&clesearch='.$clesearch.'&search='.$search.'">'.$i.'</a> ';} // chaque variable est reprise
}
echo ' ]</p>'; |
Tout est fonctionnel. Le code me renvoie 40 enregistrements et mon
Code:
echo '<p class="resultat">Résultat de la recherche : '.$nblignes .' occurrence(s)
affiche donc à chaque page "...40 occurrences".
Ce que je souhaiterais implémenter, c'est la gestion d'un affichage du nombre d'enregistrements en cours sur la page par rapport au nombre total enregistrements retournés par la requête. En fait, je souhaite obtenir ce que fait PhpMyadmin:
Affichage des enregistrements 0 - 29 (1 490 total) pour la page 1
Affichage des enregistrements 30 - 59 (1 490 total) pour la page 2
etc
Voyez-vous comment adapter mon code pour obtenir l'effet souhaité ? Merci d'avance.