2016-12-27 61 views
1

目前,我有做分頁代碼,它是不斷地顯示所有網頁分頁顯示全按鈕分頁

<div class="col-md-12"> 
    <nav aria-label="Page navigation"> 
    <ul class="pagination"> 
     <?php for ($i=0 ; $i < $products->totalPages; $i++) : ?> 
     <li <?php if ($products->number == $i) echo "class='active'"; ?>> 
     <a <?php if ($products->number != $i): ?> href="index.php?page=<?php echo $i . (isset($_GET['cid']) ? '&cid=' . $_GET['cid'] : ''); ?>#prdct" <?php endif; ?>><?php echo($i + 1); ?></a> 
     </li> 
     <?php endfor; ?> 
    </ul> 
    </nav> 
</div> 

添加展示它是如何成爲現在顯示的截圖: enter image description here

什麼要做到這一點在單排?

+0

嘗試增加寬度對於Li的 –

+0

可能的複製[邏輯背後如谷歌分頁](http://stackoverflow.com/questions/11272108/logic-behind-pagination-like-谷歌) –

+0

爲什麼你會顯示這樣的90頁鏈接?如果有一百萬呢?常見的解決方案是在當前頁面之前顯示指向幾頁的鏈接,並在當前頁面之後顯示指向幾頁的鏈接。然後你會把它全部放在同一條線上。但是,如果您必須將它們全部顯示在同一行上,則可以使用CSS來顯示水平滾動條。我建議不要這樣,只是把頁面跳轉字段。 – Ultimater

回答

1

您可以使用自己的邏輯來實現。根據當前頁面和總頁數生成有限數量的鏈接。

例如:

<div class="col-md-12"> 
    <nav aria-label="Page navigation"> 
     <ul class="pagination"> 
      <li <?php if ($products->number == 0) echo "class='active'"; ?>> 
       <a <?php if ($products->number != 0): ?> href="index.php?page=0<?php echo(isset($_GET['cid']) ? '&cid=' . $_GET['cid'] : ''); ?>#prdct" <?php endif; ?>>1</a> 
      </li> 

      <?php if ($products->totalPages > 2) { ?> 
       <?php if ($products->number > 3): ?><li><a href="javascript:void(0)">...</a></li><?php endif; ?> 
       <?php for ($i = ($products->number == 0 ? 1 : $products->number-1); $i < $products->number+2 && $i < $products->totalPages - 1; $i++) { ?> 
        <li <?php if ($products->number == $i) echo "class='active'"; ?>> 
         <a <?php if ($products->number != $i): ?> href="index.php?page=<?php echo $i . (isset($_GET['cid']) ? '&cid=' . $_GET['cid'] : ''); ?>#prdct" <?php endif; ?>><?php echo($i + 1); ?></a> 
        </li> 
       <?php } ?> 
       <?php if ($products->number < $products->totalPages - 3): ?><li><a href="javascript:void(0)">...</a></li><?php endif; ?> 
      <?php } ?> 

      <?php if ($products->totalPages > 1): ?> 
       <li <?php if ($products->number == $products->totalPages) echo "class='active'"; ?>> 
        <a <?php if ($products->number != $products->totalPages - 1): ?> href="index.php?page=<?php echo ($products->totalPages - 1) . (isset($_GET['cid']) ? '&cid=' . $_GET['cid'] : ''); ?>#prdct" <?php endif; ?>><?php echo $products->totalPages; ?></a> 
       </li> 
      <?php endif; ?> 
     </ul> 
    </nav> 
</div> 
+1

完美的作品...再次感謝你 –