TYBMHI Posté 9 Novembre 2008 Posté 9 Novembre 2008 Bonjour, J'ai trouvé sur un site un système de pagination en PHP très bien fait. Le problème c'est que je n'arrive pas à faire passer une variable. En fait j'ai besoin de transmettre la variable suivante dans l'adresse: categorie=$categorie. Je ne sais pas du tout où la placer dans le code pour que quand je clique sur un numéro de page, la variable apparaisse dans l'adresse. Pour l'instant l'adresse qui s'affiche est : http://www.monsite.fr?page=2 (les messages n'apparaisse pas) au lieu de http://www.monsite.fr?page=2&categorie=$categorie Merci pour votre aide. <?phpfunction pagination($current_page, $nb_pages, $link='?page=%d', $around=3, $firstlast=1){$pagination = '';if ( !ereg('%d', $link) ) $link .= '%d';if ( $nb_pages > 1 ) {// Lien précédentif ( $current_page > 1 )$pagination .= '<a class="prevnext" href="'.sprintf($link, $current_page-1).'" title="Page précédente">« Précédent</a>';else$pagination .= '<span class="prevnext disabled">« Précédent</span>';// Lien(s) débutfor ( $i=1; $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+1 )$pagination .= ' ...';// 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 .= ' ...';// 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 suivantif ( $current_page < $nb_pages )$pagination .= ' <a class="prevnext" href="'.sprintf($link, ($current_page+1)).'" title="Page suivante">Suivant »</a>';else$pagination .= ' <span class="prevnext disabled">Suivant »</span>';}return $pagination;}?>
Dan Posté 9 Novembre 2008 Posté 9 Novembre 2008 Un article du Hub qui peut t'intéresser http://www.webmaster-hub.com/publication/G...pagination.html
TYBMHI Posté 9 Novembre 2008 Auteur Posté 9 Novembre 2008 Merci beaucoup pour ta réponse mais je connaissais déjà ce tuto. Je ne cherche plus comment faire une pagination en php mais juste comment faire passer cette variable qui me fait défaut.
Dan Posté 9 Novembre 2008 Posté 9 Novembre 2008 Il faudrait dans ce cas passer $categorie comme argument à ta fonction pagination... ou le définir comme variable globale dans celle-ci.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant