【问题标题】:PHP pagination - next/previous buttonPHP 分页 - 下一个/上一个按钮
【发布时间】:2019-02-09 06:11:58
【问题描述】:

我正在尝试学习 PHP 分页。到目前为止,我可以通过数字进行分页,但上一个/下一个按钮出现在每个页码的左侧和右侧,like this

这是我用来生成分页的代码:

    <!DOCTYPE html>
<html lang="en">
<head>
  <title>PHP</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
  <h2>List Of Customers</h2>

<div class="row">   

    <a href="add.php" class="btn btn-success">Create</a>

  <table class="table table-bordered">
    <thead>
      <tr>
        <th>Name</th>
        <th>Last Name</th>
        <th>Address</th>
        <th>Phone</th>
        <th>Email</th>
        <th>Action</th>  
      </tr>
    </thead>
    <tbody>


<?php

include 'db.php';


$link = db_connect();



$limit = 4; 


    if (isset($_GET["page"] )) 
        {
        $page  = $_GET["page"]; 
        } 
    else 
       {
        $page=1; 
       };  

$record_index= ($page-1) * $limit;      






 $sql = "SELECT * FROM student_form LIMIT $record_index, $limit";

   $retval = mysqli_query($link, $sql);
//  print_r($retval);


   if (mysqli_num_rows($retval) > 0) {

         while($row = mysqli_fetch_assoc($retval)) {

        echo '<tr>';

                            echo '<td>'. $row['first_name'] . '</td>';
                            echo '<td>'. $row['last_name'] . '</td>';
                            echo '<td>'. $row['address'] . '</td>';
                            echo '<td>'. $row['phone'] . '</td>';
                            echo '<td>'. $row['email'] . '</td>';
                            echo '<td>'. "<a class='btn btn-primary' href=edit.php?id=".$row["id"].">&nbsp;&nbsp;Edit&nbsp;&nbsp;&nbsp;&nbsp;</a><br>"."<a class='btn btn-danger' href=delete.php?id=".$row["id"].">&nbsp;&nbsp;Delete</a><br>";
     }


} 
    else {
    echo "0 results";
}



echo "</tbody>";  
 echo "</table>";


$sql = "SELECT COUNT(*) FROM student_form"; 
$retval1 = mysqli_query($link, $sql);  
$row = mysqli_fetch_row($retval1);  
$total_records = $row[0];
    //  echo $total_records;
$total_pages = ceil($total_records / $limit);  
//$pagLink = "<div class='pagination'>";  
for ($i=1; $i<=$total_pages; $i++) {  

    echo "<ul class='pagination'>";

    echo "<li><a href='index.php?page=".($page-1)."' class='button'>Previous</a></li>"; 
    echo "<li><a href='index.php?page=".$i."'>".$i."</a></li>";
    echo "<li><a href='index.php?page=".($page+1)."' class='button'>NEXT</a></li>";


    echo"</ul>";               
};  
//echo $pagLink . "</div>";     
    mysqli_close($link);
?>


    </div>
</div>

</body>
</html>

【问题讨论】:

    标签: php pagination


    【解决方案1】:

    将这些网址移出for 循环:

    echo "<ul class='pagination'>";
    echo "<li><a href='index.php?page=".($page-1)."' class='button'>Previous</a></li>"; 
    
    for ($i=1; $i<=$total_pages; $i++) {  
        echo "<li><a href='index.php?page=".$i."'>".$i."</a></li>";
    };  
    
    echo "<li><a href='index.php?page=".($page+1)."' class='button'>NEXT</a></li>";
    echo "</ul>";               
    

    【讨论】:

    • 谢谢你,伙计,你能指导我如何添加第一页和最后一页吗??
    • 首页是1。最后一页是$total_pages。添加它们有什么问题?
    • 我在下一页给出了第一页 $page=1 并且它正在创建错误谢谢你的伙伴。 . .
    • 如果答案可以帮助您解决问题 - 将其标记为已接受。更多信息stackoverflow.com/help/someone-answers
    猜你喜欢
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    • 2017-08-30
    相关资源
    最近更新 更多