MySQL/PHP-页码分页有时仅显示10页 [英] MySQL/PHP - page number pagination Only show 10 pages at times

查看:251
本文介绍了MySQL/PHP-页码分页有时仅显示10页的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在使用MYSQL/PHP仪表板时遇到了困难. -目前我有50页,但目前它们都显示在同一页面上.

I am having difficulties with my MYSQL / PHP dashboard. - Currently i am having 50 pages, but currently they are all showing on the same page.

http://imgur.com/wDfTWUa -如您所见附件. -我只希望显示10个页面,并且能够单击其余页面而看不到4行页面.

http://imgur.com/wDfTWUa - as you can see in the attached file. - I only want 10 pages to be shown, and be able to click through the rest of the pages without seeing 4 rows of pages.

Exsampel<-2 3 4 5 6 7 8 9 10->当您在?page = 1上时,如果在页面上?page = 10<-11 12 13 14 15 16 17 18 19->

Exsampel <- 2 3 4 5 6 7 8 9 10 -> when you are on ?page=1, if you are on page ?page=10 <- 11 12 13 14 15 16 17 18 19->

希望你能帮助我.

代码:

<?php

include 'config.php';

$sidenr = $_GET['page'];

$sidenr2 = ($sidenr -1) * 10;

echo $sidenr2;
echo "<br><br>";

$query100 = mysqli_query($conn, "SELECT * FROM `test` LIMIT $sidenr2,10") or die(mysqli_error($conn));
while($row = mysqli_fetch_array($query100))        
    {
        echo $row['id']."<br>";
    }

    $result = mysqli_query($conn, "SELECT * FROM test");
    $num_rows = mysqli_num_rows($result);

    $sideantal = $num_rows / 10;

    echo "Der skal være antal sider: ". $sideantal;

    echo "<br><br>antal rækker ". $num_rows . "<br><br>";

    ?>
    <br><br>
    <?php

    for ($number = 1; $number <= $sideantal; $number++) {
    echo "<li><a href=\"test.php?page=".$number."\" >". $number. "</a></li>";
    } 
    ?>

推荐答案

function getPageRange($current, $max, $total_pages = 10) {
    $desired_pages = $max < $total_pages ? $max : $total_pages;
    $middle = ceil($desired_pages/2);
    if ($current <= $middle){
        return [1, $desired_pages];
    }
    if ($current > $middle && $current <= ($max - $middle)) {
        return [
            $current - $middle,
            $current + $middle
        ];
    }
    if ($current <= $max ) {
        return [
            $current - ($desired_pages - 1),
            $max
        ];
    }

}
list($min,$max) = getPageRange($sidenr, $sideantal);


foreach (range($min, $max) as $number) {
    echo "<li><a href=\"test.php?page=".$number."\" >". $number. "</a></li>";
}

这篇关于MySQL/PHP-页码分页有时仅显示10页的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆