Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Site Web > PHP > Pagination un peu spécial > Lecture du sujet

Pagination un peu spécial

Vous devez être inscrit pour pouvoir poster des messages

Page : 1 
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : 1 
Hors ligne Vergil ' # Posté le 03/07/2008 à 22:50:27
Ah oui ?
Avatar
Groupe : Membres
Bonsoirs chers amis zéros !
J'ai un problème pour une pagination un peu spécial ^^ . Je m'explique :
Si la page est supérieure à 4, je voudrais qu'il n'y est que 4 pages affichées des deux côtés de la page actuelle.
exemple (je suis à la page 5 et il y a en tout 20 pages) :
Citation : Pagination
<prec 1 2 3 4 5 6 7 8 9 suiv>

Je pense que vous avez compris... si la page est supérieure ou égale à 5 je veux que cette page se place toujours aux milieu.

Maintenant j'ai cliqué sur la page 6 :
Citation : Pagination
<prec 2 3 4 5 6 7 8 9 10 suiv>

J'ai vraiment essayé de faire le script moi même, mais je ne réussi que 50 % de ce que je veux obtenir ! En gros je n'y arrive pas :(

Attention ! Je ne demande pas de faire tout le script à ma place mais de me donner quelques indices.

Merci

EDIT : j'ai réussi !

Et dire que c'était aussi facile...

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
	if ($page <= 4) {
		for ($i = 1 ; $i <= 9 ; $i++)
		{
			if ($page != $i) $liste_pages.= '<a class="pg" href="index.php?page=Admin&actionAdmin=membres&amp;pg=' . $i . '">' . $i . '</a> ';
			else $liste_pages.= '<span style="font-size:12px;"> '.$i.'</span> ';
		}
	}
	if ($page >= 5 && $page < $nombre_pages -4) {
		for ($i = ($page - 4) ; $i <= $page +4 ; $i++)
		{
			if ($page != $i) $liste_pages.= '<a class="pg" href="index.php?page=Admin&actionAdmin=membres&amp;pg=' . $i . '">' . $i . '</a> ';
			else $liste_pages.= '<span style="font-size:12px;"> '.$i.'</span> ';
		}
	}
	if ($page >= $nombre_pages - 4) {
		for ($i = $nombre_pages - 8; $i <= $nombre_pages ; $i++)
		{
			if ($page != $i) $liste_pages.= '<a class="pg" href="index.php?page=Admin&actionAdmin=membres&amp;pg=' . $i . '">' . $i . '</a> ';
			else $liste_pages.= '<span class="pgactu"> '.$i.'</span> ';
		}
	}

?>
Édité le 04/07/2008 à 00:55:02 par Vergil '

Image utilisateur
 
Hors ligne TheKind # Posté le 04/07/2008 à 10:11:26
Avatar
Groupe : Membres
Attention, j'aurais utilisé if...elseif....else plutôt qu'un if/if/if.
Sinon, que se passe-t-il si tu n'as que 5 ou 6 pages ?

Fan de House ? Venez faire un tour sur http://www.house-fr.com/
 
Hors ligne Vergil ' # Posté le 04/07/2008 à 12:46:53
Ah oui ?
Avatar
Groupe : Membres
J'ai mis une condition pour ça. Si le nombre de page est supérieur à 8 j'exécute ce script, sinon je fait une boucle normal.

Image utilisateur
 
Hors ligne epsilonzero # Posté le 20/08/2008 à 14:30:35
Groupe : Membres
Un petit UP, car il y a 2/3 trucs que je ne comprend pas, ton $liste_page tu en fait quoi à la fin ? Tu fait un echo mais ou ? Dans une boucle ?

Et tes liens précédent et suivant ? o_O

EDIT : C'est bon j'ai trouvé^^

Merci en tout cas, car je cherchais justement comment faire ce genre de pagination
Édité le 20/08/2008 à 15:09:16 par epsilonzero

Retour au forum "PHP" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 468 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.0298s (0.0096s)