Donnés php etalés sur plusieures pages

Bonjour,

J'ai sur mon site un tableau récupérant des donnés d'une base de donnée.
J'aurais aimer savoir si pour éviter d'avoir une page très longue, il aurait été possible a partir d'un certain nombre de lignes de continuer sur une nouvelle page, et ainsi de suite ?

Est-ce que quelqu'un sait comment faire ?

Merci de me répondre

Jérome

5 réponses

  1. require ( "suite.php") ;
    1. Contributeur
      euhh lol non pas vraiment

      c'est plus complexe qu'un simple require()
  2. effectivement je n avais pas bien lu
    sortir un nb d enregistrement limités a chaque fois de toutes facons difficile de voir sans precisions
    1. Oui c'est possible , un exemple les livres d'or , on voit les 10 derniers messages ,un lien vers la page deux , puis vers la 3 et ainsi de suite .
      Ou je suis a coté de la plaque ?
      1. Voila ta plus qu'a adapter le script :

        $nombreDeMessagesParPage = 20; // Essayez de changer ce nombre pour voir :o)
        // On récupère le nombre total de messages

        $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
        $donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];
        // On calcule le nombre de pages à créer
        $nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
        // Puis on fait une boucle pour écrire les liens vers chacune des pages
        echo 'Page : ';
        for ($i = 1 ; $i <= $nombreDePages ; $i++)
        {
        echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
        }
        ?>

        </p>

        <?php

        // --------------- Etape 3 ---------------
        // Maintenant, on va afficher les messages
        // ---------------------------------------

        if (isset($_GET['page']))
        {
        $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
        }
        else // La variable n'existe pas, c'est la première fois qu'on charge la page
        {
        $page = 1; // On se met sur la page 1 (par défaut)
        }

        // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
        $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;

        $reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

        while ($donnees = mysql_fetch_array($reponse))
        {
        echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
        }

        mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
        ?>