如何指定显示的页数?

时间:2018-03-24 18:34:17

标签: php html mysql sql pdo

分页PHP代码:

<ul class="pagination">
//First Page.
<li>
    <a href="?pageno=1">First</a>
</li>
//Previous Page.
<li>
    <a href="<?php if($pageno <= 1){ echo '#'; } else { echo "?pageno=".($pageno - 1); } ?>">Prev</a>
</li>
<li>
    //Loop Through Pages.
    <?php
        for ($i=1; $i <= $total_pages ; $i++) 
        { 
            echo '<a href="?pageno='.$i.'">'.$i.'</a>';
        }
    ?>
</li>
//Next Page.
<li>
    <a href="<?php if($pageno >= $total_pages){ echo '#'; } else { echo "?pageno=".($pageno + 1); } ?>">Next</a>
</li>
//Last Page.
<li>
    <a href="?pageno=<?php echo $total_pages; ?>">Last</a>
</li>

其下的HTML代码:

First Previous 1 2 3 4 5 6 7 8 Next Last

它显示了所有页面:

First Previous 1 2 3 4 5 .. .. 8 Next Last

但如果有很多页面会被遗漏。

我想显示特定数量的网页,例如5或6:

count

有可能吗?是否有库/插件?

2 个答案:

答案 0 :(得分:0)

最佳使用将处理数据服务器端的数据表,这将是您的ajax调用,并且数据将在下一次或分页时加载。它将减少一次获取数据的负担,您也不必为分页编写单独的代码。 请参阅以下链接。

https://datatables.net/examples/data_sources/server_side.html

希望它会对你有所帮助。

答案 1 :(得分:0)

根据您要为“额外”页码显示的内容,更改if语句中回显的内容:

//Loop Through Pages.
<?php
    for ($i=1; $i <= $total_pages ; $i++) 
    { 
        if($total_pages > 8 && $i > 6 && $i < $total_pages) {
            echo '..';
        } else {
            echo '<a href="?pageno='.$i.'">'.$i.'</a>';
        }
    }
?>