• PHP分页


    <html>
    <head>
    <meta http-equiv="CONTENT-TYPE" content="text/html;">
    </head>
    <body>
    <?php
    /** 1.传入页面 **/
    $page = $_GET['p'];
    /** 2.根据页面取出数据:php->mysql **/
    $host = "localhost";
    $username = 'root';
    $password = '123456789';
    $db = 'bbs2';
    $PageSize=5;
    $ShowPage=3;
    //连接数据库
    $conn = mysql_connect($host, $username, $password);
    if(!$conn){
    // echo "数据库连接失败";
    exit;
    }

    //选择所要操作的数据库
    mysql_select_db($db);
    //设置数据库编码格式
    mysql_query('SET NAMES UTF8');
    //编写sql获取分页数据:SELECT * FROM 表名 LIMIT 起始位置 , 显示条数
    $sql = "SELECT*FROM test LIMIT ".($page-1)*$PageSize .",$PageSize";
    if(!$sql){
    echo "取出不成功";
    };
    //把sql语句传送到数据库
    $result = mysql_query($sql);
    //处理我们的数据
    echo "<table border=1 cellspacing=0 width=15% >";
    echo "<tr><td>ID</td><td>名字</td><td>性别</td></tr>";
    while($row = mysql_fetch_assoc($result)){
    echo "<tr>";
    echo "<td>{$row['id']}</td>";
    echo "<td>{$row['name']}</td>";
    echo "<td>{$row['sex']}</td>";
    echo "<tr>";
    }
    echo "</table>";
    //释放结果
    mysql_free_result($result);
    //获取数据总数
    $to_sql="SELECT COUNT(*)FROM test";
    $to_result=mysql_fetch_array(mysql_query($to_sql));
    $to=$to_result[0];
    //计算页数
    $to_pages=ceil($to/$PageSize);
    mysql_close($conn);
    /** 3.显示数据+分页条 **/
    $page_banner="";
    //计算偏移量
    $pageffset=($ShowPage-1)/2;
    if($page>1){
    $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=1'>首页</a>";
    $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page-1)."'>上一页</a>";
    }
    //初始化数据
    $start=1;
    $end=$to_pages;
    if ($to_pages>$ShowPage){
    if($page>$pageffset+1){
    $page_banner.="...";
    }
    if ($page>$pageffset){
    $start=$page-$pageffset;
    $end=$to_pages>$page+$pageffset?$page+$pageffset:$to_pages;
    }else{
    $start=1;
    $end=$to_pages>$ShowPage?$ShowPage:$to_pages;
    }
    if ($page+$pageffset>$to_pages){
    $start=$start-($page+$pageffset-$end);
    }
    }
    for($i=$start;$i<=$end;$i++){
    $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($i)."'>{$i}</a>";
    }
    //尾部省略
    if ($to_pages>$ShowPage&&$to_pages>$page+$pageffset){
    $page_banner.="...";
    }
    if ($page<$to_pages){
    $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page+1)."'>下一页</a>";
    $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($to_pages)."'>尾页</a>";
    }

    $page_banner.="共{$to_pages}页";
    $page_banner.="<form action='mupage.php' method='get'>";
    $page_banner.="到第<input type='text'size='2'name='p'>页";
    $page_banner.="<input type='submit'value='确定'>";
    $page_banner.="</form>";
    echo $page_banner;
    ?>
    </body>
    </html>

  • 相关阅读:
    Visual Studio IDE 背景色该为保护眼睛色
    搭建windows server 2008 r2 FTP 后 开启防火墙无法访问的解决办法
    Div+CSS展示物流跟踪轨迹信息
    如何删除打印队列中的任务
    用SoapUI进行Webservice的性能压力测试
    C# httpwebrequest post 传输百分号‘%’
    在线转换工具
    JSON数据转换到POCO的代码
    后端接口的幂等性(转)
    全局流水ID号生成的几种方法
  • 原文地址:https://www.cnblogs.com/samyi/p/12596705.html
Copyright © 2020-2023  润新知