Maison >développement back-end >Problème PHP >Quelle est l'idée d'implémenter la pagination des enregistrements en php ?

Quelle est l'idée d'implémenter la pagination des enregistrements en php ?

藏色散人
藏色散人original
2021-12-10 10:41:292035parcourir

L'idée d'implémenter la pagination des enregistrements en PHP : 1. Obtenez le nombre d'enregistrements dans l'ensemble de résultats ; 2. Définissez le nombre d'enregistrements affichés sur chaque page ; 3. Obtenez le nombre total de pages ; Contrôler le nombre d'enregistrements affichés sur chaque page ; 5. Passer les paramètres. Informez simplement le programme de script du numéro de page à afficher.

Quelle est l'idée d'implémenter la pagination des enregistrements en php ?

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.4, ordinateur Dell G3.

Quelle est l'idée d'implémenter la pagination des enregistrements en php ?

PHP+Mysql réalise un affichage par pagination des données :

  • Pour obtenir le nombre d'enregistrements dans le jeu de résultats, vous pouvez utiliser la fonction COUNT() dans l'instruction SELECT pour obtenir le nombre d'enregistrements dans l'ensemble de résultats

  • La définition du nombre d'enregistrements affichés sur chaque page suppose que la variable $PageSize est utilisée pour enregistrer le nombre d'enregistrements affichés sur chaque page. défini par l'utilisateur en fonction des besoins et peut être mis en œuvre directement via une instruction d'affectation. $PageSize来保存每页显示记录的数量,它的值由 用户根据需要自行设置,可以直接通过赋值语句来实现。

  • 获取总页面数量 可以通过$RecordCount$PageSize两个数据计算得到总页面数量$PageCount

  • 如何显示第n 页中的记录虽然使用 PageSize属性可以控制每页显示的记录数,但是要 显示那些记录呢?可以在SELECT语句中使用LIMIT子句指定查询记录的范围, 其 使用方法如下: SELECT * FROM 表名 LIMIT起始位置, 显示记录数量例如,要获取第$Page 页 中的记录,可以使用下面的语句:SELECT * FROM 表名LIMIT ($Page- 1) * $ PageSize, $ PageSize

  • 如何通知脚本要显示的页码可以通过传递参数的方式通知脚本程序显示的页码。假定分页显记录的脚本为 viewPage. php,传递参数的链接如下:http:// localhost/ viewPage. php? page= 2

Pour obtenir le nombre total de pages, vous pouvez calculer le nombre total de pages $PageCount à travers deux données : $RecordCount et $PageSize code>, <p><img src="https://img.php.cn/upload/article/000/000/020/a96d53c48fa06ad9aeef51a7b0c33426-0.png" alt="Quelle est lidée dimplémenter la pagination des enregistrements en php ?" title=""></p> <p>Comment afficher les enregistrements sur la page n Bien que vous puissiez utiliser la propriété PageSize pour contrôler le nombre d'enregistrements affichés sur chaque page, mais quels enregistrements doivent être affichés ? Vous pouvez utiliser la clause LIMIT dans l'instruction SELECT pour spécifier la plage d'enregistrements de la requête. La méthode d'utilisation est la suivante : SELECT * FROM nom de la table LIMIT position de départ, affiche le nombre d'enregistrements Par exemple, pour obtenir la page <code.>$Page</code.></p> Pour enregistrer, vous pouvez utiliser l'instruction suivante : SELECT * FROM nom de la table LIMIT ($Page- 1) * $ PageSize, $ PageSizeComment notifier le le script du numéro de page à afficher peut être transmis en paramètres Notifie le script du numéro de page affiché. Supposons que le script pour la pagination des enregistrements est viewPage. php et que le lien pour transmettre les paramètres est le suivant : http:// localhost/ viewPage= 2 Le paramètre page est utilisé pour spécifier le. numéro de page actuel. Dans viewPage.php, utilisez l'instruction suivante pour lire les paramètres : 🎜🎜
<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Document</title>
</head>
<body>
    <?php 
    header("content-type:text/html;charset=utf-8");
        //获取当前页码
        $page=$_GET[&#39;page&#39;];
        if($page==0){
            $page=1;
        }
        //设置每页最大能显示的数量
        $pagesize=3;

        //连接数据库
        $conn=mysql_connect("localhost","root","root");
        mysql_select_db("test");
        mysql_query("set names utf-8");
        if(!$conn){
            die("mysql_connect_failed".mysql_connect_error());
        }
        else 
            echo("connected succeed"."<br />");
        //获取结果集的记录数
        $row=mysql_fetch_row(mysql_query("select count(1) from clerk"));
        $recordcount=$row[0]; 




        //计算总页数
        if($recordcount==0)
            $pagecount=0;
        else if($recordcount<$pagesize ||$recordcount==$pagesize){
                $pagecount=1;
                //如果 记录 总数 量小 于 每页 显示 的 记录 数量, 则 只有 一页
            }
        else if($recordcount%$pagesize==0){
                $pagecount=$recordcount/$pagesize;
                //如果 没有 余数, 则 页数 等于 总 记录 数量 除以 每页 显示 记录 的 数量
            }
        else 
                $pagecount=(int)($recordcount/$pagesize)+1;
                //取 记录 总数 量 不能 整除 每页 显示 记录 的 数量,
                // 则 页数 等于 总 记录 数量 除以 每页 显示 记录 数量 的 结果 取整 再加 1

        echo("当前页码:".$page."/".$pagecount."<br />");

    ?>

    <table width="449" border="1">
        <tr>
            <td>员工姓名</td>
            <td>职务</td>
            <td>薪水</td>
        </tr>
    <?php 
    //循环显示当前页面的记录
    header("content-type:text/html;charset=utf-8");
    echo $page;
    //$sql="select * from clerk limit" .($page-1)*$pagesize.",".$pagesize;  //$page为当前页码
    $sql=($page-1)*$pagesize;
    $result=mysql_query("select * from clerk limit {$sql},{$pagesize}");
    while($row=mysql_fetch_row($result))
    {   

        echo("<tr />");
        echo("<td>$row[0]</td>");
        echo("<td>$row[2]</td>");
        echo("<td>$row[3]</td>");
        echo("<tr />");
    }
    mysql_close($conn);

    //显示分页链接
    if($page==1){
        echo("第一页");
    }
    else
        echo("<a href=viewpage.php?page=1>第一页</a>");
        //设置上一页连接

    if($page==1){
         echo("上一页");
    }
    else 
        echo("<a href=viewpage.php?page=".($page-1).">上一页</a>");

        //设置下一页链接
    if($page==$pagecount){
        echo("下一页");
    }
    else 
        echo("<a href=viewpage.php?page=".($page+1).">下一页</a>");
    //设置最后一页
    if($page==$pagecount){
        echo("最后一页");
    }
    else 
        echo("<a href=viewpage.php?page=".$pagecount.">最后一页</a>");
    ?>
    </table>
</body>
</html>
🎜🎜🎜🎜Apprentissage recommandé : "🎜PHP Video Tutorial🎜"🎜🎜🎜

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!

Déclaration:
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