Position actuelle: Accueil> Derniers articles> Implémentation de pagination: combinaison limite avec mysqli_result

Implémentation de pagination: combinaison limite avec mysqli_result

M66 2025-05-28

Dans le développement de sites Web, la fonction de pagination est une exigence très courante. La pagination peut réduire efficacement le temps de chargement des pages et rendre l'expérience utilisateur plus fluide. Cet article présentera comment utiliser la fonction mysqli_result dans PHP pour implémenter la fonction de pagination avec limite .

1. Principes de base de la pagination

L'idée de base de la pagination est que le retour de toutes les données peut causer des problèmes de performances, en particulier lorsque la quantité de données est importante. Par conséquent, nous mettons en œuvre la pagination en limitant le nombre d'enregistrements dans la requête, évitant ainsi le chargement excessif de données.

Limit est un mot-clé de SQL qui limite le nombre d'enregistrements retournés. Combiné avec Limit , vous pouvez spécifier la position de départ du résultat de la requête et le nombre d'enregistrements renvoyés pour atteindre l'effet de pagination.

2. Connexion et requête de la base de données

Tout d'abord, nous devons établir une connexion à la base de données MySQL et écrire des instructions de requête SQL. Pour implémenter la pagination, nous utilisons Limit pour limiter le nombre d'enregistrements affichés par page et utilisons le décalage pour définir quel enregistrement pour commencer à retourner.

Exemple de code:

 <?php
// Connexion de base de données
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "your_database";

// Créer une connexion
$conn = new mysqli($servername, $username, $password, $dbname);

// Vérifiez la connexion
if ($conn->connect_error) {
    die("Échec de la connexion: " . $conn->connect_error);
}

// Nombre d&#39;enregistrements affichés par page
$records_per_page = 10;

// Obtenez le numéro de page actuel
if (isset($_GET['page']) && is_numeric($_GET['page'])) {
    $current_page = $_GET['page'];
} else {
    $current_page = 1;
}

// Calculer le décalage
$offset = ($current_page - 1) * $records_per_page;

// écrireSQLDéclaration de requête
$sql = "SELECT * FROM your_table LIMIT $offset, $records_per_page";

// Exécuter une requête
$result = $conn->query($sql);

// Obtenez les résultats de la requête
if ($result->num_rows > 0) {
    // Données de sortie
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"] . " - Name: " . $row["name"] . "<br>";
    }
} else {
    echo "Pas de données";
}

// Calculez le nombre total d&#39;enregistrements
$total_sql = "SELECT COUNT(*) AS total FROM your_table";
$total_result = $conn->query($total_sql);
$total_row = $total_result->fetch_assoc();
$total_records = $total_row['total'];

// Calculez le nombre total de pages
$total_pages = ceil($total_records / $records_per_page);

// Lien de pagination de sortie
for ($i = 1; $i <= $total_pages; $i++) {
    echo "<a href='m66.net?page=$i'>$i</a> ";
}

// Fermer la connexion
$conn->close();
?>

3. Code d'analyse

  • Connexion de la base de données : Tout d'abord, nous nous connectons à la base de données MySQL via l'extension MySQLI . Une fois la connexion réussie, vérifiez les erreurs.

  • Logique de pagination : déterminez le numéro de page actuel en obtenant des paramètres de page . Si aucun numéro de page n'est fourni, la valeur par défaut est la première page. Nous déterminons ensuite la position de départ du résultat de la requête en calculant le décalage.

  • Query SQL : utilisez la limite et le décalage pour limiter le nombre d'enregistrements par requête. L'instruction LIMIT $ offset, $ enregistrels_per_page implémente la fonction de la pagination.

  • Les enregistrements totaux et le nombre total de pages : calculez le nombre total d'enregistrements dans le tableau via une autre requête et calculez le nombre total de pages à l'aide de la fonction ceil () pour s'assurer que la dernière page peut être affichée même si le nombre d'enregistrements n'est pas un multiple entier de Records_per_Page .

  • Lien de pagination : générer des liens de pagination en fonction du nombre total de pages. Chaque lien pointe vers un autre numéro de page, et les utilisateurs peuvent cliquer pour passer à la page correspondante.

4. Résumé

L'utilisation de la fonction mysqli_result combinée à la limite pour implémenter la fonction de pagination est une technique de requête de base de données très courante. En concevant rationnellement la logique de pagination, nous pouvons améliorer la vitesse de chargement du site Web et améliorer l'expérience utilisateur. Dans le développement réel, la fonction de pagination est souvent utilisée en combinaison avec la recherche, le filtrage et d'autres fonctions pour répondre aux besoins de différents scénarios.