繁体   English   中英

谁能帮我尝试以下代码的分页…!

[英]Can anyone help me out to try pagination for the below code…!

在下面,我附上了表格结构,请仔细阅读。

我想获得序列号作为我的第一栏,后跟id和name。 序列号应该继续进行分页,而不是从1开始。 提前致谢..

表结构是

create table departments (

 id INT(20) AUTO_INCREMENT PRIMARY KEY, 

name VARCHAR(30) NOT NULL);

<html>
<head>
<?php
    $db_connection = new mysqli("localhost","root","","emp_app");
    if($db_connection->connect_error)
        die("connection failed".$db_connection->connect_error); 
?>
</head>
<body>
    <table>
        <tr>
            <th>Serial no </th>
            <th>id</th>
            <th>name</th>
        </tr>
        <?php
        $sql_query = "select * from departments";
        $result = $db_connection->query($sql_query);
        if($result->num_rows > 0){
            while($rows = $result->fetch_assoc()){
                 echo "<tr>";
                 echo "<td>".$rows["id"]."<td>";
                 echo "<td>".$rows["name"]."<td>";
                 echo "<tr>";
            }
        }
        ?>
    </table>
</body>

您可以在URL后面添加一个get变量,该变量将用作您的分页号,即youurl.com/?pagination=1或2或3

然后在您的代码中添加

$pagenumber = $_GET["pagination"];
$offset = $pagenumber * 5; //The number 5 is how many results per page if you wanted 10 results per page this would be 10

你在哪里

 $sql_query = "select * from departments";

您可以更改为

 $sql_query = "select * from departments" LIMIT 5 OFFSET '$offset';

基本上是说 仅从分页行开始给我5个结果(即5个结果x第2或3页

这里是一个很好的例子,如何添加在PHP分页的PHP分页 Refrence链接是使用depricated MySQL查询你需要用mysqli的查询,以取代

 $num_rec_per_page=10;

    if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; }; 
    $start_from = ($page-1) * $num_rec_per_page; 
    $sql = "SELECT * FROM departments LIMIT $start_from, $num_rec_per_page"; 
    $rs_result = $db_connection->query ($sql); //run the query
$serial=1;
    while ($row = $result->fetch_assoc) { 
          //code here 
echo $serial;
$serial++;
    }; 

    $sql = "SELECT * FROM departments";  //select query for total records
    $rs_result = $db_connection->query($sql); //run the query
    $total_records =$rs_result->num_rows;  //count number of records
    $total_pages = ceil($total_records / $num_rec_per_page); 

    echo "<a href='pagination.php?page=1'>".'|<'."</a> "; // Goto 1st page  

    for ($i=1; $i<=$total_pages; $i++) { 
                echo "<a href='pagination.php?page=".$i."'>".$i."</a> "; 
    }; 
    echo "<a href='pagination.php?page=$total_pages'>".'>|'."</a> "; // Goto last page
    ?>
<html>
<head>
<?php
    $db_connection = new mysqli("localhost","root","","emp_app");
    if($db_connection->connect_error)
        die("connection failed".$db_connection->connect_error); 

    $num_rec_per_page=5;
    if (isset($_GET["page"])) { 
        $page  = $_GET["page"]; 
    } else { 
        $page=1; 
    }; 
    $start_from = ($page-1) * $num_rec_per_page;    
?>
</head>
<body>
    <table>
        <tr>
            <th>Serial no </th>
            <th>id</th>
            <th>name</th>
        </tr>
        <?php
        $sql_query =  "SELECT * FROM departments LIMIT $start_from, $num_rec_per_page";
        $result = $db_connection->query($sql_query);
        if($result->num_rows > 0){
            while($rows = $result->fetch_assoc()){
                 echo "<tr>";
                 echo "<td>".$rows["id"]."<td>";
                 echo "<td>".$rows["name"]."<td>";
                 echo "<tr>";
            }
        }
        $sql = "SELECT * FROM departments";  //select query for total records
        $rs_result = $db_connection->query($sql); //run the query
        $total_records =$rs_result->num_rows;  //count number of records
        $total_pages = ceil($total_records / $num_rec_per_page); 

        echo "<a href='index.php?page=1'>".'|<'."</a> "; // Goto 1st page  

        for ($i=1; $i<=$total_pages; $i++) { 
            echo "<a href='index.php?page=".$i."'>".$i."</a> "; 
        }; 
        echo "<a href='index.php?page=$total_pages'>".'>|'."</a> ";
        ?>
    </table>
</body>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM