• php开发_分页


    项目结构:

    运行效果:

    ========================================

    conn.php

     1 <?php
     2 $conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误");
     3 mysql_select_db("form", $conn);
     4 mysql_query("set names 'GBK'"); //使用GBK中文编码;
     5 //替换空格,回车键
     6 function htmtocode($content) {
     7     $content = str_replace("\n", "<br>", str_replace(" ", "&nbsp;", $content));
     8     return $content;
     9 }
    10 ?>

    page.php

     1 <?php
     2 
     3     function _PAGEFT($totle, $displaypg = 20, $url = '') {
     4 
     5         global $page, $firstcount, $pagenav, $_SERVER;
     6 
     7         $GLOBALS["displaypg"] = $displaypg;
     8 
     9         if (!$page)
    10             $page = 1;
    11         if (!$url) {
    12             $url = $_SERVER["REQUEST_URI"];
    13         }
    14 
    15         //URL分析:
    16         $parse_url = parse_url($url);
    17         $url_query = $parse_url["query"]; //单独取出URL的查询字串
    18         if ($url_query) {
    19             $url_query = ereg_replace("(^|&)page=$page", "", $url_query);
    20             $url = str_replace($parse_url["query"], $url_query, $url);
    21             if ($url_query)
    22                 $url .= "&page";
    23             else
    24                 $url .= "page";
    25         } else {
    26             $url .= "?page";
    27         }
    28         $lastpg = ceil($totle / $displaypg); //最后页,也是总页数
    29         $page = min($lastpg, $page);
    30         $prepg = $page -1; //上一页
    31         $nextpg = ($page == $lastpg ? 0 : $page +1); //下一页
    32         $firstcount = ($page -1) * $displaypg;
    33 
    34         //开始分页导航条代码:
    35         $pagenav = "显示第 <B>" . ($totle ? ($firstcount +1) : 0) . "</B>-<B>" . min($firstcount + $displaypg, $totle) . "</B> 条记录,共 $totle 条记录";
    36 
    37         //如果只有一页则跳出函数:
    38         if ($lastpg <= 1)
    39             return false;
    40 
    41         $pagenav .= " <a href='$url=1'>首页</a> ";
    42         if ($prepg)
    43             $pagenav .= " <a href='$url=$prepg'>前页</a> ";
    44         else
    45             $pagenav .= " 前页 ";
    46         if ($nextpg)
    47             $pagenav .= " <a href='$url=$nextpg'>后页</a> ";
    48         else
    49             $pagenav .= " 后页 ";
    50         $pagenav .= " <a href='$url=$lastpg'>尾页</a> ";
    51 
    52         //下拉跳转列表,循环列出所有页码:
    53         $pagenav .= " 到第 <select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n";
    54         for ($i = 1; $i <= $lastpg; $i++) {
    55             if ($i == $page)
    56                 $pagenav .= "<option value='$i' selected>$i</option>\n";
    57             else
    58                 $pagenav .= "<option value='$i'>$i</option>\n";
    59         }
    60         $pagenav .= "</select> 页,共 $lastpg 页";
    61     }
    62 
    63 
    64 include("conn.php");
    65 
    66 $result=mysql_query("SELECT * FROM `test`");
    67 $total=mysql_num_rows($result);
    68 //调用pageft(),每页显示10条信息(使用默认的20时,可以省略此参数),使用本页URL(默认,所以省略掉)。
    69 _PAGEFT($total,5);
    70 echo $pagenav;
    71 
    72 $result=mysql_query("SELECT * FROM `test` limit $firstcount,$displaypg ");
    73 while($row=mysql_fetch_array($result)){
    74 
    75 echo "<hr><b>".$row[name]." | ".$row[sex];
    76 
    77 }
    78 ?>

    list.php

     1 <?php
     2 include("conn.php");
     3 
     4 $pagesize=5;
     5 $url=$_SERVER["REQUEST_URI"];
     6 $url=parse_url($url);
     7 $url=$url[path];
     8 
     9 
    10 $numq=mysql_query("SELECT * FROM `test`");
    11 $num = mysql_num_rows($numq);
    12 
    13 if($_GET[page]){
    14 $pageval=$_GET[page];
    15 $page=($pageval-1)*$pagesize;
    16 $page.=',';
    17 }
    18 if($num > $pagesize){
    19  if($pageval<=1)$pageval=1;
    20 echo "共 $num 条".
    21         " <a href=$url?page=".($pageval-1).">上一页</a> <a href=$url?page=".($pageval+1).">下一页</a>";
    22 }
    23     $SQL="SELECT * FROM `test` limit $page $pagesize ";
    24     $query=mysql_query($SQL);
    25     while($row=mysql_fetch_array($query)){
    26 
    27     echo "<hr><b>".$row[name]." | ".$row[sex];
    28 
    29     }
    30 ?>

    分页公式:(当前页数-1)*每页条数,每页条数

    sql语句:select * from test_table limit ($page-1)*$pageSize,$pageSize;

  • 相关阅读:
    newCachedThreadPool无上限线程池使用
    newFixedThreadPool固定线程使用
    java定时器
    http文件上传/下载
    ThreadPoolExecutor线程池
    阻塞队列
    非阻塞队列
    IO文件夹拷贝(文件内含有文件和文件夹)
    MD5加密
    web.xml文件的作用
  • 原文地址:https://www.cnblogs.com/hongten/p/php_fenye.html
Copyright © 2020-2023  润新知