PHP implémente la fonction de pagination de données

王林
Libérer: 2023-06-23 13:10:01
original
1053 Les gens l'ont consulté

PHP est un langage de script côté serveur largement utilisé dans le développement Web. Lorsque nous traitons une grande quantité de données dans une base de données, nous devons généralement utiliser la technologie de pagination de données pour diviser les données en pages pouvant être affichées afin d'économiser les ressources du serveur et d'améliorer l'efficacité de l'accès des utilisateurs. Cet article explique comment utiliser PHP pour implémenter la fonction de pagination de données.

  1. Connexion à la base de données

Tout d'abord, nous devons nous connecter à la base de données, ce qui est réalisé via le code suivant :

$servername = "localhost"; //数据库主机名
$username = "root"; //数据库用户名
$password = ""; //数据库密码
$dbname = "myDB"; //数据库名称

// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检测连接是否成功
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
Copier après la connexion
  1. Obtenir le nombre total d'enregistrements

Ensuite, nous devons obtenir le nombre total d'enregistrements dans la base de données pour la pagination. Ceci peut être réalisé grâce au code suivant :

$sql = "SELECT COUNT(*) FROM myTable"; //myTable为数据表名
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);

$total_records = $row[0]; //获取总记录数
Copier après la connexion
  1. Calculer la pagination

Une fois que nous avons le nombre total d'enregistrements, nous pouvons calculer le nombre de pages qui doivent être divisées et le nombre d'enregistrements affichés sur chaque page. Par exemple, si chaque page affiche 10 éléments de données et qu’il y a 100 éléments de données au total, nous devons alors la diviser en 10 pages. Ceci peut être réalisé grâce au code suivant :

$records_per_page = 10; //每页记录数
$total_pages = ceil($total_records / $records_per_page); //总页数
Copier après la connexion
  1. Obtenir le numéro de page actuel

Lors de la pagination, vous devez obtenir le numéro de page actuel pour déterminer la plage de données qui doit être affichée. Le numéro de page actuel peut être obtenu via le code suivant :

if (isset($_GET['page'])) {
    $current_page = $_GET['page'];
} else {
    $current_page = 1; //默认为第一页
}
Copier après la connexion
  1. Calculer la position d'enregistrement de départ

Avec le numéro de page actuel et le nombre d'enregistrements par page, nous pouvons calculer la position d'enregistrement de la requête de départ. Par exemple, si vous souhaitez interroger les données de la page 3 et afficher 10 éléments de données sur chaque page, alors la position de l'enregistrement de départ est :

$starting_position = ($current_page - 1) * $records_per_page;
Copier après la connexion
  1. Interrogation des données

Après avoir calculé la position de l'enregistrement de départ, nous devons interroger la base de données et obtenir les données à afficher. Cela peut être réalisé grâce au code suivant :

$sql = "SELECT * FROM myTable LIMIT $starting_position, $records_per_page";
$result = mysqli_query($conn, $sql);
Copier après la connexion
  1. Affichez la barre de navigation de pagination

Enfin, affichez la barre de navigation de pagination en bas de la page. Ceci peut être réalisé grâce au code suivant :

echo "<ul class='pagination'>";

if ($current_page > 1) {
    $prev_page = $current_page - 1;
    echo "<li><a href='{$_SERVER['PHP_SELF']}?page=$prev_page'>&laquo;</a></li>";
}

for ($i = 1; $i <= $total_pages; $i++) {
    if ($i == $current_page) {
        echo "<li class='active'><a href='#'>$i</a></li>";
    } else {
        echo "<li><a href='{$_SERVER['PHP_SELF']}?page=$i'>$i</a></li>";
    }
}

if ($current_page < $total_pages) {
    $next_page = $current_page + 1;
    echo "<li><a href='{$_SERVER['PHP_SELF']}?page=$next_page'>&raquo;</a></li>";
}

echo "</ul>";
Copier après la connexion

Le code ci-dessus utilise le style du framework Bootstrap et peut ajuster le style et la mise en page par lui-même.

Le code complet est le suivant :




    PHP数据分页
    



"; echo ""; echo ""; echo ""; echo ""; } ?>
姓名 年龄 性别
" . $row['name'] . "" . $row['age'] . "" . $row['gender'] . "
Copier après la connexion

Il convient de noter que dans l'application réelle, nous devons effectuer une vérification de sécurité à chaque étape du code pour empêcher les attaques malveillantes telles que l'injection SQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!