分页并不完美

时间:2016-02-27 19:31:33

标签: php pagination

我有以下代码:

$max = 4;
$page = isset($_GET['page']) ? ($_GET['page']) : '1'; 
$init = $page - 1;
$init= $max * $init; 
$strCount = "SELECT COUNT(*) AS 'total_mytable' FROM mytable";   
$varstrCount = $crud->viewdatas($strCount);

$total = 0;
    if(count($varstrCount)){
        foreach ($varstrCount as $row) {
            $total = $row["total_mytable"]; 
        }
    }

    $result = "SELECT * FROM mytable ORDER BY id_mytable LIMIT $init,$max";
    $varresult = $crud->viewdatas($result);

页面内容:

    <?php

        if(count($varresult)){
            foreach ($varresult as $res) {                      
    ?>

      <h5><?php echo $res['title'] ?></h5>  

    <?php

            }
        }
    ?>

    <?php
                $max_links = 10;
                $previous = $page - 1; 
                $next = $page + 1; 
                $pgs = ceil($total / $max); 
                if($pgs > 1 ){   

                    if($previous > 0){
                        echo "<li><a href='".BASE_URL."/category/$previous' aria-label='Previous'><span aria-hidden='true'>&laquo;</span></a></li>";
                    } else{

                    }   

                        for($i=$page-$max_links; $i <= $pgs-1; $i++) {
                            if ($i <= 0){
                                }else{
                                                                    if($i != $page{
                                    if($i == $pgs){ //if end insert 3 dots
                                        echo "<li><a href='".BASE_URL."/category/".($i)."'>".$i."</a></li> ..."; 
                                    }else{
                                        echo "<li><a href='".BASE_URL."/category/".($i)."'>".$i."</a></li>"; 
                                    }
                                } else{
                                    if($i == $pgs){ //if end insert 3 dots
                                        echo "<li>".$i."</li> ..."; 
                                    }else{
                                        echo "<li>".$i."</li>";
                                    }
                                } 
                            }
                        }
                if($next <= $pgs){


                        echo "<li><a href='".BASE_URL."/category/$next' aria-label='Next'><span aria-hidden='true'>&raquo;</span></a></li>";


                    }else{

                    }

                }

                ?>  

结果:

enter image description here

我不明白活动号码保持在分页菜单之外的原因

在代码中我定义了max-links为10,但没有显示数字5,如果我定义3个更改的最大链接,则显示与图像相同的结果。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

echo "<li>".$i."</li>";

在上面一行添加一个href,好像你有li>a的css格式,因为你没有得到li所需的格式。因此,为了更好地格式化所有寻呼链接current,prev,next。你需要加一个标签。

echo "<li><a>".$i."</a></li>"; //in your else part