zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    css实现截取文本
    ob_clean()解决php验证码图片无法显示
    JS获取url参数,修改url参数
    mysql模糊查询特殊字符(\,%和_)处理
    apache反向代理和监听多个端口设置
    页面底部自适应浏览器窗口高度
    变量相关考虑
    php非法输入数据类型
    php socket模拟http中post或get提交数据
    华为专利的 hybrid 端口
  • 原文地址:https://www.cnblogs.com/samyi/p/12596705.html
Copyright © 2011-2022 走看看