美文网首页
原生写分页

原生写分页

作者: 码课sir | 来源:发表于2018-07-31 10:57 被阅读0次

    思考

    分页如何实现?
    起始位置如何求得?
    如何获取总页码?

    代码如下

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    <style type="text/css">
        table{
            width:900px;
            margin:auto;
        }
        table,td,th{
            border:solid 1px #000;
        }
    </style>
    </head>
    
    <body>
    <!--库链接--->
    <?php
    $link=@mysqli_connect('localhost','root','root','jokeDB');  //链接数据库
    if(mysqli_connect_error()){
        echo '错误信息:'.mysqli_connect_error($link),'<br>';    //显示错误信息
        echo '错误码:'.mysqli_connect_errno($link);    //显示错误码
        exit;
    }
    mysqli_set_charset($link,'utf8');   //设置字符编码
    ?>
    <!--显示笑话的类别-->
    <?php
        $rs=mysqli_query($link,'select * from title');
    ?>
    <table>
        <tr>
            <?php
                $n=0;
                while($rows=mysqli_fetch_assoc($rs)):
            ?>
                <td><a href='?titleid=<?php echo $rows['Id']?>'><?php echo $rows['Title']?></a></td>
            <?php
                if(++$n==9)
                    echo '</tr><tr>';
                endwhile;
            ?>      
        </tr>
    </table>
    <!--获取笑话内容-->
    <?php
        $titleid=$_GET['titleid']??1;   //获取类别的id,默认是1
        //第一步:获取总记录数
        $sql="select count(*) from contents where title=$titleid";
        $rs=mysqli_query($link,$sql);
        $rows=mysqli_fetch_row($rs);    //匹配成索引表数组
        $recordcount=$rows[0];          //总记录数
        //第二步:求的总页数
        $pagesize=10;   //页面大小
        $pagecount=ceil($recordcount/$pagesize);    //总页码
        //第四步:获取当前页码
        $pageno=$_GET['pageno']??1;     //当前页码
        //第五步:获取当前页的起始位置
        $startno=($pageno-1)*$pagesize; //计算起始位置
        //第六步:获取当前页的内容
        $sql="select * from contents where title=$titleid limit $startno,$pagesize";
        $rs=mysqli_query($link,$sql);
    ?>
    <table>
        <tr>
            <th>编号</th>
            <th>内容</th>
            <th>作者</th>
        </tr>
        <?php while($rows=mysqli_fetch_assoc($rs)):?>
        <tr>
            <td><?php echo $rows['Id']?></td>
            <td><?php echo $rows['Contents']?></td>
            <td><?php echo $rows['Author']?></td>
        </tr>
        <?php endwhile;?>
    </table>
    <?php
        //第三步:循环输出页码
        for($i=1;$i<=$pagecount;$i++){
            echo "<a href='?pageno={$i}&titleid={$titleid}'>{$i}</a>&nbsp;";
        }
    ?>
    </body>
    </html>
    

    相关文章

      网友评论

          本文标题:原生写分页

          本文链接:https://www.haomeiwen.com/subject/ahmcvftx.html