PHP+mysql分页问题

图片描述

求教一下,PHP+Mysql怎么实现图示分页?

阅读 5.3k
2 个回答

分页导航链接可以这样写:
PHP分页导航

<?php
header('Content-Type: text/html;charset=utf-8');
$page = (!empty($_GET['p'])) ? intval($_GET['p']) : 1;
page($page);

function page($page=1, $page_size=10){
    $total_records = 505;
    $total_pagas = ceil($total_records/$page_size);
    echo '页数: '.$total_pagas.'<br />';
    if($total_pagas==0){
        echo '<b>查询结果为空</b><br />'; 
    }else if($page>$total_pagas || $page <= 0){
        ?>
        <a href="page.php?p=1">最前</a><br />
        <a href="page.php?p=<?php echo $total_pagas; ?>">最后</a><br />
        <?php
        echo '<b>第1页(没有该页,统一显示第一页)</b><br />';
        $page = 1;
        if($total_pagas>=$page+4){
            for($i=$page+1;$i<=$page+4;$i++){
                //echo $i;
                ?>
                <a href="page.php?p=<?php echo $i; ?>">第<?php echo $i; ?>页</a><br />
                <?php
            }
            if($page!=$total_pagas){
                ?>
                <a href="page.php?p=<?php echo $page+1; ?>">下一页</a><br />
                <?php
            }
        }else{
            for($i=$page+1;$i<=$total_pagas;$i++){
                //echo $i;
                ?>
                <a href="page.php?p=<?php echo $i; ?>">第<?php echo $i; ?>页</a><br />
                <?php
            }
            if($page!=$total_pagas){
                ?>
                <a href="page.php?p=<?php echo $page+1; ?>">下一页</a><br />
                <?php
            }
        }
    }else{
        ?>
        <a href="page.php?p=1">最前</a><br />
        <a href="page.php?p=<?php echo $total_pagas; ?>">最后</a><br />
        <?php
        //前输出5页,后输出4页.
        if($page<=5){
            if($page!=1){
                ?>
                <a href="page.php?p=<?php echo $page-1; ?>">上一页</a><br />
                <?php
            }
            for($i=1;$i<$page;$i++){
                //echo $i;
                ?>
                <a href="page.php?p=<?php echo $i; ?>">第<?php echo $i; ?>页</a><br />
                <?php
            }
        }else{
            if($page!=1){
                ?>
                <a href="page.php?p=<?php echo $page-1; ?>">上一页</a><br />
                <?php
            }
            for($i=$page-5;$i<$page;$i++){
                //echo $i;
                ?>
                <a href="page.php?p=<?php echo $i; ?>">第<?php echo $i; ?>页</a><br />
                <?php
            }
        }
        echo '<b>第'.$page.'页(当前页)</b><br />';
        if($total_pagas>=$page+4){
            for($i=$page+1;$i<=$page+4;$i++){
                //echo $i;
                ?>
                <a href="page.php?p=<?php echo $i; ?>">第<?php echo $i; ?>页</a><br />
                <?php
            }
            if($page!=$total_pagas){
                ?>
                <a href="page.php?p=<?php echo $page+1; ?>">下一页</a><br />
                <?php
            }
        }else{
            for($i=$page+1;$i<=$total_pagas;$i++){
                //echo $i;
                ?>
                <a href="page.php?p=<?php echo $i; ?>">第<?php echo $i; ?>页</a><br />
                <?php
            }
            if($page!=$total_pagas){
                ?>
                <a href="page.php?p=<?php echo $page+1; ?>">下一页</a><br />
                <?php
            }
        }
    }
}
?>

?>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏