Les partenaires publicitaires:

Php mysql pagination tutoriel

Pagination résultats MySQL avec PHP dispose d'un certain nombre d'avantages. Tout d'abord, il accélère la requête MySQL, car elle ne renvoie un petit nombre de résultats. Deuxièmement, il améliore l'expérience de l'utilisateur, car il montre un nombre gérable de résultats par page. Troisièmement, il permet d'économiser la bande passante en ne pas envoyer les résultats inutiles. Pour ces raisons, de nombreux sites, y compris Google, Yahoo et WordPress, ont adopté son utilisation. Pour utiliser MySQL pagination, vous devez utiliser le SQL "LIMIT" commande et les paramètres "GET" dans l'URL.

Instructions

  1. Créer une table "répertoire" dans votre base de données MySQL avec les colonnes "id", "Nom" et "téléphone". Remplir la table avec quelques entrées. Voici les requêtes SQL pour créer et peupler la table, respectivement:

    CREATE TABLE répertoire (id int (11) NOT NULL AUTO_INCREMENT, nom varchar (100) NOT NULL, téléphone varchar (20) NOT NULL, la clé primaire (id));

    INSERT INTO répertoire (nom, téléphone) VALUES ('Jack', '201-379-5406'), ('Jake', '331-123-5196'), («John», «222-342-3250);

  2. Créez un nouveau fichier "pagination.php" et ouvrez-le avec un éditeur de texte tel que Notepad. Écrire un segment de code qui se connecte à votre serveur MySQL, en utilisant la fonction "mysql_connect" de PHP, et sélectionne la base de données contenant le "répertoire" table, en utilisant la fonction "mysql_select_db" de PHP. Voici un exemple:

    mysql_connect ("localhost", 'admin', 'password');

    mysql_select_db ('test');

    Remplacer les quatre cordes avec votre nom d'hôte, nom d'utilisateur, mot de passe et base de données, respectivement.

  3. Ecrire un segment de code qui définit la variable "$ rowsPerPage" pour le nombre de lignes à afficher par page, définit «$ currentPage" à la page demandée via "$ _GET ['page']" ou zéro si aucun et ensembles " $ offset "pour le décalage à partir de laquelle récupérer les lignes à partir de la base de données, calculée en soustrayant l'un de« $ currentPage "et en multipliant par" $ rowsPerPage. " Voici un exemple:

    $ rowsPerPage = 5;




    $ currentPage = ((isset ($ _ GET ['page']) $ _GET ['Page']> 0)? (int) $ _ GET ['page']: 1);

    $ offset = ($ currentPage-1) * $ rowsPerPage;

  4. Écrire une ligne de code qui récupère les lignes "$ rowsPerPage" à partir de l'offset est mis en «$ offset" de la table "répertoire" par l'exécution d'une requête "SELECT" via la fonction "mysql_query" de PHP et enregistre le résultat dans une nouvelle variable. Voici le code:

    $ result = mysql_query ("SELECT * FROM répertoire LIMIT décalage $ ',' $ rowsPerPage...);

  5. Écrire un boucle "while" qui récupère les lignes de jeu de résultats de la requête, "$ result," en utilisant la fonction "mysql_fetch_assoc" de PHP et les affiche sous forme de liste ou une table. Voici un exemple:

    echo '

    ';

    while ($ row = mysql_fetch_assoc ($ result)) {

    echo '

    ';

    }

    echo '

    IDNomNuméro de téléphone
    ». $ row ['id']. '». $ row ['nom']. '». $ row ['téléphone']. '
    ';

  6. Ecrire un segment de code qui récupère le nombre d'entrées dans le tableau par l'exécution d'une requête "COUNT" via la fonction "mysql_query" de PHP, calcule le nombre de pages en divisant le nombre d'entrées par le "$ rowsPerPage" variable et arrondi vers le haut et enregistre le résultat dans une variable "$ TotalPages." Voici le code:



    $ result = mysql_query ("SELECT COUNT (*) AS compter à partir de répertoire»);

    $ row = mysql_fetch_assoc ($ result);

    $ TotalPages = plafond ($ row ['count'] / $ rowsPerPage);

  7. Écrire deux "if": celui qui affiche un lien "Page Précédente" et celui qui affiche un lien «Page suivante», si la page respective existe (qui est, si "$ currentPage" est supérieur à un pour "Page Précédente" et si "$ currentPage" est supérieur à "$ TotalPages" pour "Page Suivante"). Voici le code:

    if ($ currentPage> 1) {

    echo 'Page précédente ';

    }

    if ($ currentPage < $totalPages) {

    echo 'Page suivante';

    }

» » » » Php mysql pagination tutoriel