Comment implémenter la fonction de pagination PHP : utilisez d'abord "parse_url" pour analyser le tableau d'url ; puis obtenez la page de liste et collectez le contenu à afficher, puis attribuez la position de départ limite calculée à la variable $page ; ; Enfin, utilisez $page et $pageSize pour récupérer les données de la base de données et les afficher pour les afficher.
Implémentation de la fonction de pagination PHP
Dans un site web, s'il y a trop de contenu dans la page de liste, la pagination est généralement une fonction configurée, aujourd'hui nous allons étudier ensemble le principe de la pagination et implémenter cette fonction à travers un petit cas
Recommandé : "Tutoriel PHP"
Principe de pagination
Affichage des pages, les données extraites de la base de données mysql sont affichées dans des sections régulières. Utilisez la limite dans l'instruction sql pour lier ses données de départ au nombre de pages et récupérer le nombre de pages. données de la base de données en fonction du nombre de pages. Par exemple : supposons que le nom de la table de la base de données soit une liste et récupérez 10 informations de chaque page第1页 select * from list limit 0,10; 第2页 select * from list limit 10,10; 第3页 select * from list limit 20,10;
1.基本的操作数据库函数 1.1 mysqli_connect();连接数据库,例如$link = mysqli_connect('127.0.0.1','root',12345678,'bbs'); 1.2 mysqli_query():获取数据 例如$res = mysqli_query($link,"select * from list");第二个参数为sql语句 1.3 mysqli_num_rows():查看获取了多少条数据 例如 $num = mysqli_num_rows($res); 1.4 mysqli_fetch_assoc(),或者mysqli_fetch_row():从获取的数据集中取一条数据,每次只取一条,取完指针就指向下一条. 例如mysqli_fetch_assoc($res),除了fetch_assoc,fetch_row还有fetch_array,他们具体的区别请参考手册 1.5 limit 操作数据库中数据的,limit 开始位置,操作条数 例如从数据库中取数 select * from list limit 10,10; 2.其他相关知识 2.1 $_SERVER['REQUEST_URI']获取当前页面的url 例如 https://i.cnblogs.com/EditPosts.aspx?opt=1的url为/EditPosts.aspx?opt=1 2.2 parse_url():解析url,返回url的各个组成部分,如果不写第二个参数,返回的数组中可能的键有以下几种: scheme - 如 http, host port user pass path query - 在问号 ? 之后 fragment - 在散列符号 # 之后
$url = $_SERVER['REQUEST_URI']; $url = parse_url($url); $url = $url['path']; $pageSize = 4; //连接服务器 $link = mysqli_connect('127.0.0.1','root',12345678,'bbs'); $res = mysqli_query($link,'select * from fenye'); $num = mysqli_num_rows($res); $pageNum = ceil($num/$pageSize); //判断页面是否是提交状态 if ( isset($_GET['page']) && $_GET['page'] >1) { $pageVal = $_GET['page']; }else { $pageVal = 1; } //计算起始位置 $page = ($pageVal-1)*$pageSize; //去数据库取数据 $res = $mysqli_query($link,"select * from fenye limit $page,$pageSize"); //如果$res有值,则循环便利结果展示输出在页面 if ($res) { while( $row = mysqli_fetch_assoc($res) ) { echo $row['name']. '|'.$row['age'].'<br/>'; } } //html添加页数部分 <a href="?page=1">1</a>; <a href="?page=2">2</a>; <a href="?page=3">3</a>; <a href="?page=4">4</a>; <a href="?page=5">5</a>; 总共<?php echo $pageNum; ?>页,当前在<?php echo $pageVal;?>页
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!