【问题标题】:reducing number of php pagination links to 10将 php 分页链接的数量减少到 10
【发布时间】:2020-08-15 01:30:05
【问题描述】:

我一直在建立一个数据驱动的网站,显示世界各国的一般信息。它被制作成每页显示一个国家,您可以通过单击分页链接移动下一个国家。我遇到的唯一问题是我无法限制可见链接的数量。我确实尝试了这个 for 循环,第一行是这样的: for ($i = $Page; $i

<nav class="mt-5">
   <ul class="pagination pagination-lg justify-content-center">
       <?php
          if( isset($Page) ) {
             if ($Page > 1 ) {
       ?>
       <li class="page-item">
          <a href="index.php?page=<?php echo $Page-1; ?>" class="page-link">&laquo;</a>
       </li>
       <?php 
               } 
           }
       ?>
       <?php
       global $ConnectingDB;
       $sql = "SELECT COUNT(*) FROM countriesinfo";
       $stmt = $ConnectingDB->query($sql);
       $RowPagination = $stmt->fetch();
       $TotalRecords = array_shift($RowPagination);
       $RecordPagination = $TotalRecords / 1;
       $RecordPagination = ceil($RecordPagination);
       for ($i = $Page; $i <= $RecordPagination; $i++) {     
            if( isset($Page) ) {
                  if ($i == $Page) 
                          {  
       ?>
       <li class="page-item active">
             <a href="index.php?page=<?php echo $i; ?>" class="page-link"><?php  echo $i; ?></a>
       </li>
       <?php
            } else {
       ?>  
       <li class="page-item">
            <a href="index.php?page=<?php echo $i; ?>" class="page-link"><?php  echo $i; ?></a>
       </li>
       <?php      
                 }
              } 
           } 
       ?>
       <?php if (isset($Page) && !empty($Page) ) {
             if ($Page+1 <= $RecordPagination) {
       ?>
       <li class="page-item">
           <a href="index.php?page=<?php echo $CountryId+1; ?>" class="page-link">&raquo;</a>
       </li>
       <?php 
      } 
     }
   ?>
 </ul>
</nav>

【问题讨论】:

    标签: php html pagination


    【解决方案1】:

    我通过输入 index.php?page=aa 来测试网址。

    您可以使用函数中的 php is_numeric() bulit 检查以确保 get 变量是数字 如果不是强迫它排在第 1 位。 当有人操纵页面变量时,这将阻止网站崩溃。

    这是一个帮助你的代码,放在页面的开头。

      if(is_numeric($page)){
          $page = $page; // if $page is a number do nothing
         }else{
           $page = 1; //else set $page to 1 which  will fetch data from  beginning
        }
    

    【讨论】:

    • 非常感谢,这确实解决了问题
    • 不客气,很高兴它最终成功编码。
    猜你喜欢
    • 1970-01-01
    • 2016-11-20
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多