begin process at 2012 05 27 19:33:35
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > PAGINATION + FICHIER CSS

PAGINATION + FICHIER CSS


 Information sur la source

Note :
Aucune note
Catégorie :Astuces Classé sous :php, pagination, css, bdd, script Niveau :Débutant Date de création :29/10/2011 Vu / téléchargé :3 440 / 427

Auteur : profdi

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
// Pagination style : (< Préc. 1 2 3 4 5 6 7 ... 14 Suiv.>)
//                    (< Préc. 1 ... 4 5 6 7 8 9 10 ... 14 Suiv.>)
//                    (< Préc. 1 ... 8 9 10 11 12 13 14 Suiv.>)

Je sais qu'il existe plusieurs autres méthodes, mais étant un débutant et voulant essayer de créer moi-même ma pagination, je crois avoir réussi quelque chose d'assez bien et très simple d'utilisation.

Une seule variable à modifier (au besoin) dans le code.
Un exemple sur le site : http://passioncharmes.com/colliers.php

Source

  • // Fichier : pagination.css
  • ul.pagination { margin: 6px 0; text-align: center; font-weight: bold;}
  • ul.pagination li {
  • background: #fff;
  • display: inline;
  • margin: 0;
  • padding: 0;
  • overflow: hidden;
  • }
  • ul.pagination li span, #lien_off {
  • *display:inline; *zoom:1;
  • line-height: 20px;
  • padding: 2px 8px;
  • border: 1px solid #C0A062;
  • }
  • #lien_off {
  • border: 1px solid #ccc;
  • color: #ccc;
  • }
  • ul.pagination a {
  • *display:inline; *zoom:1;
  • background: #fff;
  • line-height: 20px;
  • padding: 2px 8px;
  • text-decoration: none;
  • border: 1px solid #ccc;
  • }
  • ul.pagination a:hover, ul.pagination a:active, ul.pagination a:focus {
  • background: #C0A062;
  • color: #fff;
  • text-decoration: none;
  • }
  • // Fichier : pagination.php
  • <?php
  • // Pagination style : (< Préc. 1 2 3 4 5 6 7 ... 14 Suiv.>)
  • // (< Préc. 1 ... 4 5 6 7 8 9 10 ... 14 Suiv.>)
  • // (< Préc. 1 ... 8 9 10 11 12 13 14 Suiv.>)
  • //
  • // Au préalable, récupérer le numéro de la page indiquée dans l'adresse (.php?page=x)
  • // et définir le nombre total de pages ($nbDePages)
  • //
  • // Appeller ensuite la fonction par :
  • // Pagination($page, $nbDePages);
  • //
  • //
  • function Pagination($page, $nbDePages) {
  • $nb_AvAp = 3; // Nombre de pages à afficher avant et après la page courante (modifier au besoin)
  • echo '<div>';
  • echo '<ul class="pagination">';
  • // Activation du lien "< Préc." ou pas
  • if ($page > 1) {
  • echo '<li><a href="?page=' . ($page - 1) . '">< Pr&eacute;c.</a></li>&nbsp;';
  • }
  • else {echo '<li><span id="lien_off">< Pr&eacute;c.</span></li>&nbsp;';}
  • // Affichage des liens de page en ligne si (($nb_AvAp * 2) + 2) ou moins [sans le "1 ..." et le "... dernière_page"]
  • if ($nbDePages <= ($nb_AvAp * 2) + 2) {
  • for($i = 1; $i <= $nbDePages; $i++) {
  • if($i == $page) {echo '<li>&nbsp;<span>' . $i . '</span>&nbsp;</li>';}
  • else {echo '<li>&nbsp;<a href="?page=' . $i . '">' . $i . '</a>&nbsp;</li>';}
  • }
  • }
  • // Affichage des liens de page selon le format : 1 2 3 4 5 6 7 8 [lorsque la page en cours <= $nb_AvAp + 1, avec ($nb_AvAp * 2) + 1) liens max.]
  • elseif ($page <= $nb_AvAp + 1) {
  • for($i = 1; $i <= (($nb_AvAp * 2) + 1) && $i <= $nbDePages; $i++) {
  • if($i == $page) {echo '<li>&nbsp;<span>' . $i . '</span>&nbsp;</li>';}
  • else {echo '<li>&nbsp;<a href="?page=' . $i . '">' . $i . '</a>&nbsp;</li>';}
  • }
  • }
  • // Affichage des liens de page selon le format : 1 ... 2 3 4 5 6 7 8 [lorsque la page en cours = $nb_AvAp + 2 et la dernière page sera affichée précédée des "..."]
  • elseif ($page == $nb_AvAp + 2) {
  • echo '<li>&nbsp;<a href="?page=1">1</a>&nbsp;</li>&nbsp;...&nbsp;&nbsp;';
  • for($i = $page - $nb_AvAp; $i <= $page + $nb_AvAp; $i++) {
  • if($i == $page) {echo '<li>&nbsp;<span>' . $i . '</span>&nbsp;</li>';}
  • else {echo '<li>&nbsp;<a href="?page=' . $i . '">' . $i . '</a>&nbsp;</li>';}
  • }
  • }
  • // Affichage des liens de pages selon le format, par ex., : 1 ... 3 4 5 6 7 8 9 [lorsque la page en cours > 2 et la dernière page sera affichée précédée des "..."]
  • elseif ($page - $nb_AvAp > 2 && $page < $nbDePages - 2) {
  • echo '<li>&nbsp;<a href="?page=1">1</a>&nbsp;</li>&nbsp;...&nbsp;&nbsp;';
  • for($i = $page - $nb_AvAp; $i <= $page + $nb_AvAp && $i <= $nbDePages; $i++) {
  • if($i == $page) {echo '<li>&nbsp;<span>' . $i . '</span>&nbsp;</li>';}
  • else {echo '<li>&nbsp;<a href="?page=' . $i . '">' . $i . '</a>&nbsp;</li>';}
  • }
  • }
  • // Affichage des liens de page selon le format, par ex., : 1 ... 8 9 10 11 12 13 14 [lorsque la page en cours >= $nbDePages - 2, la dernière page affichée sans précéder des "..."]
  • elseif ($page >= $nbDePages - 2) {
  • echo '<li>&nbsp;<a href="?page=1">1</a>&nbsp;</li>&nbsp;...&nbsp;&nbsp;';
  • if ($nb_AvAp == 1 && $page == $nbDePages - 2) {$moins = 1;} else {$moins = 0;}
  • for($i = $nbDePages - ($nb_AvAp * 2) - $moins; $i <= $page + $nb_AvAp && $i <= $nbDePages; $i++) {
  • if($i == $page) {echo '<li>&nbsp;<span>' . $i . '</span>&nbsp;</li>';}
  • else {echo '<li>&nbsp;<a href="?page=' . $i . '">' . $i . '</a>&nbsp;</li>';}
  • }
  • }
  • else {echo '';}
  • // Affichage de la dernière, suivie des "...", si nécessaire
  • if ($page + $nb_AvAp < $nbDePages && $nbDePages > ($nb_AvAp * 2) + 2) {
  • echo '&nbsp;&nbsp;...&nbsp;<li>&nbsp;<a href="?page=' . $nbDePages . '">' . $nbDePages . '</a>&nbsp;</li>';
  • }
  • // Activation du lien "Suiv. >" ou pas
  • if ($page < $nbDePages) {
  • echo '&nbsp;<li><a href="?page=' . ($page + 1) . '">Suiv. ></a></li>';
  • }
  • else {echo '&nbsp;<li><span id="lien_off">Suiv. ></span></li>';}
  • echo '</ul>';
  • echo '</div>';
  • }
  • ?>
// Fichier : pagination.css

ul.pagination { margin: 6px 0; text-align: center; font-weight: bold;}
ul.pagination li {
	background: #fff;
	display: inline;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
ul.pagination li span, #lien_off {
	*display:inline; *zoom:1;
	line-height: 20px;
	padding: 2px 8px;
	border: 1px solid #C0A062;
}
#lien_off {
	border: 1px solid #ccc;
	color: #ccc;
}
ul.pagination a {
	*display:inline; *zoom:1;
	background: #fff;
	line-height: 20px;
	padding: 2px 8px;
	text-decoration: none;
	border: 1px solid #ccc;
}
ul.pagination a:hover, ul.pagination a:active, ul.pagination a:focus {
	background: #C0A062;
	color: #fff;
	text-decoration: none;	
}



// Fichier : pagination.php

<?php
// Pagination style : (< Préc. 1 2 3 4 5 6 7 ... 14 Suiv.>)
//                    (< Préc. 1 ... 4 5 6 7 8 9 10 ... 14 Suiv.>)
//                    (< Préc. 1 ... 8 9 10 11 12 13 14 Suiv.>)
//
// Au préalable, récupérer le numéro de la page indiquée dans l'adresse (.php?page=x)
// et définir le nombre total de pages ($nbDePages)
//
// Appeller ensuite la fonction par :
// Pagination($page, $nbDePages);
//
// 

function Pagination($page, $nbDePages) {

$nb_AvAp = 3; // Nombre de pages à afficher avant et après la page courante (modifier au besoin)

	echo '<div>';
	echo '<ul class="pagination">';

	// Activation du lien "< Préc." ou pas
	if ($page > 1) {
		echo '<li><a href="?page=' . ($page - 1) . '">< Pr&eacute;c.</a></li>&nbsp;';
	}
	else {echo '<li><span id="lien_off">< Pr&eacute;c.</span></li>&nbsp;';}
	
	// Affichage des liens de page en ligne si (($nb_AvAp * 2) + 2) ou moins [sans le "1 ..." et le "... dernière_page"]
	if ($nbDePages <= ($nb_AvAp * 2) + 2) {
		for($i = 1; $i <= $nbDePages; $i++) {
			if($i == $page) {echo '<li>&nbsp;<span>' . $i . '</span>&nbsp;</li>';}
			else {echo '<li>&nbsp;<a href="?page=' . $i . '">' . $i . '</a>&nbsp;</li>';}
		}
	}
	// Affichage des liens de page selon le format : 1 2 3 4 5 6 7 8 [lorsque la page en cours <= $nb_AvAp + 1, avec ($nb_AvAp * 2) + 1) liens max.]
	elseif ($page <= $nb_AvAp + 1) {
		for($i = 1; $i <= (($nb_AvAp * 2) + 1) && $i <= $nbDePages; $i++) {
			if($i == $page) {echo '<li>&nbsp;<span>' . $i . '</span>&nbsp;</li>';}
			else {echo '<li>&nbsp;<a href="?page=' . $i . '">' . $i . '</a>&nbsp;</li>';}
		}
	}
	// Affichage des liens de page selon le format : 1 ... 2 3 4 5 6 7 8 [lorsque la page en cours = $nb_AvAp + 2 et la dernière page sera affichée précédée des "..."]
	elseif ($page == $nb_AvAp + 2) {
		echo '<li>&nbsp;<a href="?page=1">1</a>&nbsp;</li>&nbsp;...&nbsp;&nbsp;';
		for($i = $page - $nb_AvAp; $i <= $page + $nb_AvAp; $i++) {
			if($i == $page) {echo '<li>&nbsp;<span>' . $i . '</span>&nbsp;</li>';}
			else {echo '<li>&nbsp;<a href="?page=' . $i . '">' . $i . '</a>&nbsp;</li>';}
		}
	}
	// Affichage des liens de pages selon le format, par ex., : 1 ... 3 4 5 6 7 8 9 [lorsque la page en cours > 2 et la dernière page sera affichée précédée des "..."]
	elseif ($page - $nb_AvAp > 2 && $page < $nbDePages - 2) {
		echo '<li>&nbsp;<a href="?page=1">1</a>&nbsp;</li>&nbsp;...&nbsp;&nbsp;';
		for($i = $page - $nb_AvAp; $i <= $page + $nb_AvAp && $i <= $nbDePages; $i++) {
			if($i == $page) {echo '<li>&nbsp;<span>' . $i . '</span>&nbsp;</li>';}
			else {echo '<li>&nbsp;<a href="?page=' . $i . '">' . $i . '</a>&nbsp;</li>';}
		}
	}
	// Affichage des liens de page selon le format, par ex., : 1 ... 8 9 10 11 12 13 14 [lorsque la page en cours >= $nbDePages - 2, la dernière page affichée sans précéder des "..."]
	elseif ($page >= $nbDePages - 2) {
		echo '<li>&nbsp;<a href="?page=1">1</a>&nbsp;</li>&nbsp;...&nbsp;&nbsp;';
		if ($nb_AvAp == 1 && $page == $nbDePages - 2) {$moins = 1;} else {$moins = 0;} 
		for($i = $nbDePages - ($nb_AvAp * 2) - $moins; $i <= $page + $nb_AvAp && $i <= $nbDePages; $i++) {
			if($i == $page) {echo '<li>&nbsp;<span>' . $i . '</span>&nbsp;</li>';}
			else {echo '<li>&nbsp;<a href="?page=' . $i . '">' . $i . '</a>&nbsp;</li>';}
		}
	}
	else {echo '';}

	// Affichage de la dernière, suivie des "...", si nécessaire
	if ($page + $nb_AvAp < $nbDePages && $nbDePages > ($nb_AvAp * 2) + 2) {
		echo '&nbsp;&nbsp;...&nbsp;<li>&nbsp;<a href="?page=' . $nbDePages . '">' . $nbDePages . '</a>&nbsp;</li>';
	}

	// Activation du lien "Suiv. >" ou pas
	if ($page < $nbDePages) {
		echo '&nbsp;<li><a href="?page=' . ($page + 1) . '">Suiv. ></a></li>';
	}
	else {echo '&nbsp;<li><span id="lien_off">Suiv. ></span></li>';}
	
	echo '</ul>';
	echo '</div>';	
}
?>



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

AFFICHÉ SUR UN TABLEAU AVEC PAGINATION ET BASE DE DONNÉES par stormxp
Source avec Zip Source avec une capture GENERATEUR D'ONGLET DE NAVIGATION PHP par pos123
FORMATER UN LIEN YOUTUBE, DAILYMOTION OU VIMEO POUR L'UTILIS... par kgb93
Source avec Zip Source avec une capture SYSTEME D'AUTHENTIFICATION PHP AVEC PROTÉCTION KEYLOGGER par mtrix000
Source avec Zip Source avec une capture GENERATEUR DE BOUTONS DE PARTAGES POUR RESEAUX SOCIAUX par cod57

 Sources en rapport avec celle ci

AFFICHÉ SUR UN TABLEAU AVEC PAGINATION ET BASE DE DONNÉES par stormxp
Source avec Zip Source avec une capture PAGINATION JAVASCRIPT PHP MYSQL par cod57
SYSTÈME DE PAGINATION AVEC BDD ET IMAGES (FICHIERS) par begueradj
Source avec une capture PAGINATION EN PHP par Orangina
Source avec Zip Source avec une capture PAGINATION AUTOMATIQUE PAR APPEL DE FONCTIONS PHP par gigaprint

Commentaires et avis

Commentaire de profdi le 02/11/2011 23:10:24

Laissez-moi un p'tit commentaire si vous l'essayez... ;)

Commentaire de farmel le 31/12/2011 16:56:16

Comment l'implémenter ?

Est que c'est pas possible de donner un exemple complet avec des requetes ?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

un script de pagination en php [ par mirc00 ] Je travail sur un projet qui consiste à exploter les données d'un AS/400 en php après le succes . Après j'ai effectuer des requêtes sa marche mais sa PHP Script de pargination [ par aboukam ] SALUT A TOUS J'ai un problème avec un script de pagination que j'ai télécharger pour adapter a mon site pour lister les informations de la base de don texte du script php affiché dans la page résultat [ par jlarras ] Bonjour, J'ai un petit problème avec php. J'ai téléchargé un script sur le web (PHPSearch), pour avoir un moteur de recherche interne. J'avais essayé probleme image dans script php [ par docteurmouse ] salut a tous voila mon probleme j ai achetè il y a 2 mois un script mon site est sur internet , et il commence a bien fonctionner j'ai ameliorè ce que problème pagination [ par noanis ] Bonjour, j'ai un petit problème concernant la pagination, car mes données sont affichées dans la partie centrale de ma page principale qui contient a selection specifique en php dans BDD [ par geof2810 ] Bonjour a tous, voila je debute dans le php/mysql j'ai suivi un tutoriel sur le site du zero qui m'a bien servi. voila j'ai un code php qui marche a id_personne [ par mathieuweb86 ] Bonjour à tous, J'ai un gros souci avec mon script je n'arrive pas à afficher dans l'url id_personne correspondant à ma page, en effet quand je clique besoin de vos connaissance en php/css! [ par soniadm ] Bonjour à tous!et tout d'abord un grand merci pour votre aide! Voilà: j'essaye d'intégrer une page .php avec requête dans une feuille de style. Pro hébergement php [ par Liro ] Bonjour à tous, J'ai créé un scipt php qui enregistre l'image d'une webcam à intervalle régulier. Actuellement ce script nécessite qu'une page soit Planifier un script php sous windows [ par ulrish ] Boujour, je voudrais planifier un script php de mon projet sur windows afin ke je puisse l'exécuter tous les jours à la même heure, le problème c'est


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales