【问题标题】:Pagination not working perfect in php分页在php中无法完美运行
【发布时间】:2016-02-24 17:40:20
【问题描述】:

我已经创建了多标签分页,例如全部、流行、新标签。 在所有标签中,我都插入了分页代码,但是当我进入热门标签和第 3 页时,我进入了新标签,但我没有去那里寻找空白页面。

<?php
  $flag = $_GET['flag'];
  if(!isset($_GET['flag'])){
?>
<li class="active"><a data-toggle="tab" href="#menu2">All</a></li>
<li ><a data-toggle="tab" href="#home">Popular</a></li>
<li ><a data-toggle="tab" href="#menu1">New</a></li>
<?php
  }
  elseif($flag == 3){
?>
<li class="active"><a data-toggle="tab" href="#menu2">All</a></li>
<li ><a data-toggle="tab" href="#home">Popular</a></li>
<li ><a data-toggle="tab" href="#menu1">New</a></li>
<?php 
  }
  else if ($flag == 2) { 
?>
<li ><a data-toggle="tab" href="#menu2">All</a></li>
<li  ><a data-toggle="tab" href="#home">Popular</a></li>
<li class="active"><a data-toggle="tab" href="#menu1">New</a></li>
<?php 
  }else { 
?>
<li ><a data-toggle="tab" href="#menu2">All</a></li>
<li class="active"><a data-toggle="tab" href="#home">Popular</a></li>
<li ><a data-toggle="tab" href="#menu1">New</a></li>
<?php   
  }
?>
<?php 
  $flag = $_GET['flag'];
  if($flag == 3){
?>
<div id="menu2" class="tab-pane fade in active">
<?php
  }
  else if(!isset($_GET['flag'])){
?>
<div id="menu2" class="tab-pane fade  in active">
<?php
  }else{
?>
<div id="menu2" class="tab-pane fade">
<?php
  } 
?>

我已经进入其他选项卡,然后显示相同的页面 url 喜欢 list.php?page=3&flag=3 如果有任何选项卡显示此 URL 和页面内容不显示。 请帮助我。
谢谢

【问题讨论】:

  • 停止使用已弃用的mysql_* API。将 mysqli_ 或 `PDO 与准备好的语句一起使用。

标签: php jquery pagination


【解决方案1】:

我得到了答案 只是我已经创建了 java 脚本函数

              <li class="active"><a data-toggle="tab" href="#menu2" onclick="Redirect3();">All</a></li>
                                <li ><a data-toggle="tab" href="#home" onclick="Redirect1();">Popular</a></li>
                                <li ><a data-toggle="tab" href="#menu1" onclick="Redirect2();">New</a></li>

函数重定向1(){ window.location="list.php?flag=1"; } 函数重定向2(){ window.location="list.php?flag=2"; } 函数重定向3(){ window.location="list.php?flag=3"; }

它对我有用。

【讨论】:

    【解决方案2】:

    我在引导程序中进行了分页。它工作正常。您只需编辑查询。试试看

    <head>
        <link href="bootstrap.css" rel="stylesheet">
        <script src="jquery.js"></script>
    </head>
    <?php
    
        //chage connection
        include_once("connection.php");
        //sql
        $sql = "SELECT COUNT(id) FROM records";
    
        $query = mysqli_query($con, $sql);
        $row = mysqli_fetch_row($query);
        $rows = $row[0];
    
        $page_rows = 2;
    
        $last = ceil($rows/$page_rows);
        if($last < 1)
        {
            $last = 1;
        }
        $pagenum = 1;
        if(isset($_GET['pn']))
        {
            $pagenum = preg_replace('#[^0-9]#', '', $_GET['pn']);
        }
        if ($pagenum < 1) 
        { 
            $pagenum = 1; 
        }
        else if ($pagenum > $last) 
        { 
            $pagenum = $last; 
        }
        $limit = 'LIMIT ' .($pagenum - 1) * $page_rows .',' .$page_rows;
    
        // $limit important, sql
        $sql = "SELECT * FROM records ORDER BY id DESC $limit";
        $query = mysqli_query($con, $sql);
    
        // This shows the user what page they are on, and the total number of pages
        $textline1 = "Data (<b>$rows</b>)";
        $textline2 = "Page <b>$pagenum</b> of <b>$last</b>";
    
        $paginationCtrls = '';
    
        if($last != 1)
        {       
        $paginationCtrls .= '<li><a href="'.$_SERVER['PHP_SELF'].'?pn=1">First</a></li>';
    
        if ($pagenum > 1) {
            $previous = $pagenum - 1;
            $paginationCtrls .= '<li><a href="'.$_SERVER['PHP_SELF'].'?pn='.$previous.'">Previous</a></li>';
            for($i = $pagenum-4; $i < $pagenum; $i++){
                if($i > 0){
                    $paginationCtrls .= '<li><a href="'.$_SERVER['PHP_SELF'].'?pn='.$i.'">'.$i.'</a></li>';
                }
            }
        }
        else
        {
            $paginationCtrls .= '<li class="disabled"><a href="">Previous</a></li>';
        }
        $paginationCtrls .= '<li><a href="" class="num-bg">'.$pagenum.'</a></li>';
        for($i = $pagenum+1; $i <= $last; $i++){
            $paginationCtrls .= '<li><a href="'.$_SERVER['PHP_SELF'].'?pn='.$i.'">'.$i.'</a></li>';
            if($i >= $pagenum+4){
                break;
            }
        }
        if ($pagenum != $last) {
            $next = $pagenum + 1;
            $paginationCtrls .= '<li><a href="'.$_SERVER['PHP_SELF'].'?pn='.$next.'">Next</a></li> ';
        }
        else
        {
            $paginationCtrls .= '<li class="disabled"><a href="">Next</a></li>';
        }
    
        $paginationCtrls .= '<li><a href="'.$_SERVER['PHP_SELF'].'?pn='.$last.'">Last</a></li>';
    }
    
    
    //chage the loop
    echo '<div class="container">';
    while($row = mysqli_fetch_array($query)){
        echo $row["id"];
        echo $row["name"];
        echo '<br><br>';
    }
    
    echo '</div>';
    mysqli_close($con);
    ?>
    <!DOCTYPE html>
    <html>
    <head>
    <style type="text/css">
    body{ font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;}
    .pagination li a:first-child
    {
        border-radius:20px;
    }
    </style>
    </head>
    <body>
    <div>
      <h2><?php echo $textline1; ?> Paged</h2>
    
    
      <center>
    
            <ul class="pagination"><?php echo $paginationCtrls; ?></ul>
            <p><?php echo $textline2; ?></p>
      </center>
    </div>
    </body>
    </html>
    
    <script>
        $(".num-bg").css({"background-color":"#A5D3FA","color":"white"});
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 2013-06-09
      • 1970-01-01
      • 2016-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多