Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/06/2006, 15h56   #1
Membre du Club
 
Avatar de 12_darte_12
 
Inscription : février 2005
Messages : 185
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : février 2005
Messages : 185
Points : 51
Points : 51
Envoyer un message via MSN à 12_darte_12
Par défaut [SQL] Réaliser une pagination comme dans le forum

Bonjour,

Voila j'aimerai mettre en place une petite barre de ce style :

<<< premier | < précédent | pages 1 2 3 4 5 6 7 ... | suivant > | dernier >>>


les boutons premier, précédent, suivant, dernier sont déjà en place.

Mon problème est que je ne sais pas comment faire pour avoir un page 1 2 3 ... qui quand on clique sur le 3 cela affiche page 2 3 4 ... et qui pointe bien vers la page désirée.

Je ne vois pas par où comencer.

Est ce que faire une petite boite de dialogue ou l'on rentre sa page est plus simple a faire ?
Comment puis-je la faire ?
__________________
12_darte_12
12_darte_12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2006, 16h16   #2
Membre Expert
 
Avatar de Bebel
 
Homme David B.
Développeur informatique
Inscription : avril 2003
Messages : 742
Détails du profil
Informations personnelles :
Nom : Homme David B.
Âge : 29
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : avril 2003
Messages : 742
Points : 1 085
Points : 1 085
je connais pas le fonctionnement exact du forum.
Mais le principe est le suivant
tu connais le nombre de page total. par exemple si sur en forum tu veux afficher 20 sujets par pages et qu'il y a 100 sujets cela te fait 5 pages.

et apres pour recupérer les bons sujets pour la page tu utilises les clauses limit de sql. Par exemple pour la page 2 les sujets seront de 21 à 40.
__________________
Tout énigme a une solution ! Tout est question de discipline !
Bebel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2006, 16h23   #3
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Bein quand t'as fait précédent, suivant... tu as la technique.
Quand tu arrives sur le forum, aucune page de précisée donc page 1. Donc ça donne (pour 5 pages par exemple)

Code :
1
2
3
4
for ($i = 2, $i <= 6; $i++)
   {
      echo "page <a href='page.php?start=".($i * $nbmsgparpage)."'>".$i."</a>";
   }
Si tu arrives sur une page au milieu tu récupères le $start et tu calcules. Si $start vaut 50 et que tu as 10 messages par page, tu es page 6 et tu refais la boucle.
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2006, 18h04   #4
Membre éclairé
 
Inscription : janvier 2004
Messages : 424
Détails du profil
Informations personnelles :
Âge : 39
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2004
Messages : 424
Points : 311
Points : 311
un truc du style ...

Code :
1
2
3
4
$requete="SELECT * FROM clients";
$result = mysql_query($requete);
$total_clients = mysql_num_rows($result);
$nb_pages=ceil($total_clients/30);
Code :
1
2
if(empty($debut)){$debut=0;};
$requete = "SELECT id, nom, prenom, mail, adresse1, adresse2, ville, cp, tel1, tel2, tel3, fax FROM clients  ORDER BY nom LIMIT ".$debut.",30;";

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
for($i=1;$i<=$nb_pages;$i++)
{
	$page_en_cours = (($debut+30)/30);
	if ($i == $page_en_cours)
	{
		echo("<strong><a href='".$PHP_SELF."?debut=".($i*30-30)."'>".$i."</a></strong> - ");
	}
	else
	{
		echo("<a href='".$PHP_SELF."?debut=".($i*30-30)."'>".$i."</a> - ");
	}
 
}
zevince est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h20.


 
 
 
 
Partenaires

Hébergement Web