Vous êtes ici Codes sources snippets  page-par-page  Affiche avec des liens page par page

 

Affiche avec des liens page par page

Le page par page le plus populaire du web c'est celui ci alors active!! Nous l'avons trouvé en surfant sur le Net et apres en avoir essayé une multitude, ce page par page est définitivement à recommander.

Il affiche les liens précédent et suivant avec les n° de pages au centre.
 
posté par un
administrateur
Site de l'auteur Voir
Enregisté le 23 Avril 2009
Vu 4684 fois
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Affiche avec des liens page par page
  • Partage ce code sur Facebook
 
 
 
 

Code Source


.01
.02
.03
.04
.05
.06
.07
.08
.09
.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
.51
.52
.53
.54
.55
.56
.57
.58
.59
.60
.61
.62
.63
.64
.65
.66
.67
.68
.69
.70
.71
.72
.73
.74
.75
.76
.77
.78
.79
.80
.81
.82
.83
.84
.85
.86
.87
.88
.89
.90
.91
.92
.93
.94
.95
.96
.97
.98
.99
.100
.101
.102
.103
.104
.105
.106
.107
.108
.109
.110
.111
.112
.113
.114
.115
.116
.117
.118
.119
.120
.121
.122
.123
.124
.125
.126
.127
.128
.129
.130
.131
.132
.133
.134
.135
.136
.137
.138
.139
.140
.141
.142
.143
.144
.145
.146
.147
.148
.149
.150
.151
.152
.153
.154
 
<?php
/******************************************************************************/
/*                                                                            */
/*                            ___           ____                              */
/*                           / _ \___ _  __|_  /    __                        */
/*                          / // / -_) |/ //_ < |/|/ /                        */
/*                         /____/\__/|___/____/__,__/                         */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Affiche avec des liens page par page                      */
/*                                                                            */
/* URL            : http://www.dev3w.com/scripts10-PHP.htm                    */
/* Auteur         : moderateur                                                */
/* Date édition   : 23 Avril 2009                                             */
/* Website auteur : http://wwww.dev3w.com                                     */
/*                                                                            */
/******************************************************************************/
 function pagination($current_page$nb_pages$link='?page=%d'$around=3,
 $firstlast=1)
{
  $pagination '';
  if ( !ereg('%d'$link) ) $link .= '%d';
  if ( $nb_pages ) {

    // Lien précédent
    if ( $current_page )
      $pagination .= '<a class="prevnext" href="'.sprintf($link$current_page-1
).'" title="Page précédente">&laquo; Précédent</a>';
    else
      $pagination .= '<span class="prevnext disabled">&laquo; Précédent</span>';

    // Lien(s) début
    for ( $i=$i<=$firstlast $i++ ) {
      $pagination .= ' ';
      $pagination .= ($current_page==$i) ? '<span class="current">'.$i.'</span>'
 '<a href="'.sprintf($link$i).'">'.$i.'</a>';
    }

    // ... après pages début ?
    if ( ($current_page-$around) > $firstlast+)
      $pagination .= ' &hellip;';

    // On boucle autour de la page courante
    $start = ($current_page-$around)>$firstlast $current_page-$around $firstlast+1;
    $end = ($current_page+$around)<=($nb_pages-$firstlast) ? $current_page+
$around $nb_pages-$firstlast;
    for ( $i=$start $i<=$end $i++ ) {
      $pagination .= ' ';
      if ( $i==$current_page )
        $pagination .= '<span class="current">'.$i.'</span>';
      else
        $pagination .= '<a href="'.sprintf($link$i).'">'.$i.'</a>';
    }

    // ... avant page nb_pages ?
    if ( ($current_page+$around) < $nb_pages-$firstlast )
      $pagination .= ' &hellip;';

    // Lien(s) fin
    $start $nb_pages-$firstlast+1;
    if( $start <= $firstlast $start $firstlast+1;
    for ( $i=$start $i<=$nb_pages $i++ ) {
      $pagination .= ' ';
      $pagination .= ($current_page==$i) ? '<span class="current">'.$i.'</span>'
 '<a href="'.sprintf($link$i).'">'.$i.'</a>';
    }

    // Lien suivant
    if ( $current_page $nb_pages )
      $pagination .= ' <a class="prevnext" href="'.sprintf($link, ($current_page
+1)).'" title="Page suivante">Suivant &raquo;</a>';
    else
      $pagination .= ' <span class="prevnext disabled">Suivant &raquo;</span>';
  }
  return $pagination;
} ?>


.pagination {
  line-height:2em;
}
.pagination a,
.pagination span {
  padding:0.2em 0.5em;
}
.pagination a {
  border:1px solid #9AAFE5;
  color:#105CB6;
  text-decoration:none;
}
.pagination a:hover {
  border:1px solid #296BB5;
  color:#000031;
}
.pagination .prevnext {
  font-weight:bold;
}
.pagination span.disabled { 
  border:1px solid #DDDDDD;
  color:#999999;
}
.pagination span.current {
  border:1px solid #2E6AB1;
  background-color:#2E6AB1;
  color:#ffffff;
  font-weight:bold;
}


<?php

// 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 10;

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

// Préparation de la requête
$sql "SELECT * FROM table LIMIT $limit_start, $pagination";

// Requête SQL
$resultat mysql_query($sql);

// Traitement et affichage des données
while ( $donnee mysql_fetch_assoc($resultat) ) {

  // ICI VOTRE CODE NORMAL
  // Affichage d'un élément

}

// Nb d'enregistrement total
$nb_total mysql_query('SELECT COUNT(*) AS nb_total FROM table');
$nb_total mysql_fetch_array($nb_total);
$nb_total $nb_total['nb_total'];

// Pagination
$nb_pages ceil($nb_total $pagination);

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

?>


Commentaires (2)
Quand on est à la version php 5.3.0 j'ai une erreur avec cette ligne :  ( !ereg('%d', $link) ) $link .= '%d'; Comment y remédier merci
 
tu peux normalement remplacer ereg par preg_match :
if ( !preg_match('/%d/'$link) ) $link .= '%d';
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 

Navigation

 
 
Annonce Google...
 

page par page

 
 

Catégories