IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[SQL] Réaliser une pagination comme dans le forum


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de 12_darte_12
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Points : 107
    Points
    107
    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

  2. #2
    Membre éprouvé Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    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 : 786
    Points : 1 262
    Points
    1 262
    Par défaut
    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 !

  3. #3
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    489
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 489
    Points : 388
    Points
    388
    Par défaut
    un truc du style ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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> - ");
    	}
     
    }

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/06/2006, 11h26
  2. [MySQL] Réaliser une pagination sur un forum
    Par maroweb dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/02/2006, 12h39
  3. Peut-on avoir une rebrique PeopleSoft dans le forum ?
    Par afaraji dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 1
    Dernier message: 28/12/2005, 11h07
  4. question pour réaliser une pagination
    Par vbcasimir dans le forum Langage
    Réponses: 1
    Dernier message: 13/10/2005, 08h17
  5. [Concours] une section concours dans le forum
    Par Nocif dans le forum Etudes
    Réponses: 7
    Dernier message: 20/07/2005, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo