Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将PHP中的引导分页限制为5页_Php_Twitter Bootstrap_Pagination - Fatal编程技术网

将PHP中的引导分页限制为5页

将PHP中的引导分页限制为5页,php,twitter-bootstrap,pagination,Php,Twitter Bootstrap,Pagination,我试图在PHP中创建分页,其中显示5个页面 在第一页上,我们有: [1] [2][3][4][5]…[325][>>] 点击[325]将进入该页最后一条记录,点击右箭头将进入第[2]页 在第二页中,我们有: [] 当我们在最后一页看到: [ 包括mysqli_connect.php $companyID = $_SESSION['compid']; $db = new Database(); $dbc = $db->getConnection(); $display =

我试图在PHP中创建分页,其中显示5个页面

在第一页上,我们有:

[1] [2][3][4][5]…[325][>>]

点击[325]将进入该页最后一条记录,点击右箭头将进入第[2]页

在第二页中,我们有: []

当我们在最后一页看到:

[ 包括mysqli_connect.php

  $companyID = $_SESSION['compid'];

  $db = new Database();
  $dbc = $db->getConnection();

  $display = 3; //number of records per page
  $pages;

  $dbb = new Database();
  $dbcb = $dbb->getConnection();
   $stat = "select * from reservationStatus where resStatId = '$companyID'  ";

  $r = mysqli_query($dbcb, $stat);

//variable for sorting - default is for registration date
$sort = (isset($_GET['sort'])) ? $_GET['sort'] : 'rd';

switch ($sort) 
{
    case 'ln':
        $orderby = 'uniquenumber ASC';
        break;
    case 'fn':
        $orderby = 'status ASC';
        break;
    case 'rd':
        $orderby = 'resId ASC';
        break;
    case 'em'   :
        $orderby = 'resDate ASC';
        break;
    default:
        $orderby = 'resId ASC';
        break;
}


if(isset($_GET['p']) ) //already calculated
{
    $pages=$_GET['p'];  
}
else
{
    //get the total number of records from the table
    $q = "select count(resId) from reservation where companyID = '$companyID'";
    $r = mysqli_query($dbc, $q);
    $row = mysqli_fetch_array($r, MYSQLI_NUM);
    $records=$row[0];

    if($records > $display ) //$display is the number of records per page
    //ceil rounds fractions up to integer value    
      $pages=ceil($records/$display);  
    else
      $pages = 1;
}

//now determine where in the database to start 
if(isset($_GET['s']) ) //already calculated
   $start=$_GET['s'];  
else
    $start = 0;

 //$q = "select * from users LIMIT $start, $display";
 $q = "select * from reservation where companyID = '$companyID' order by $orderby LIMIT $start, $display";

  $r = mysqli_query($dbc, $q);

  if($r)
  {


    echo '<br />';
    //display a table of results
    echo '<div class="container">';
      echo '<h1> Your Orders </h1>';
    echo '<table align="center" class="table table-bordered table-striped" width="60%">';
    echo '<tr bgcolor="#87CEEB">
          <td><b>View</b></td>
          <td><b>Change Status</b></td>
          <td><b><a href="viewOrdersForCompanies.php?sort=fn"> Reference Number</a></b></td>
          <td><b><a href="viewOrdersForCompanies.php?sort=ln">Status</a></b></td>
          <td><b><a href="viewOrdersForCompanies.php?sort=em">Date</a></b></td>
          <td><b><a href="viewOrdersForCompanies.php?sort=rd">Total Price</a></b></td></tr>';   


//above is the header
//loop below adds the user details    
    //use the following to set alternate backgrounds 
    $bg = '#eeeeee';

    while($row = mysqli_fetch_array($r))
    {

         $stat = "select * from reservationStatus where resStatusId = $row[7] ";

  $rr = mysqli_query($dbcb, $stat);
  $roww = mysqli_fetch_array($rr);

        $bg = ($bg=='#eeeeee' ? '#ffffff' : '#eeeeee');

        echo '<tr bgcolor="' . $bg. '">
            <td><a href="viewTaskForCompany.php?did=' .$row[0]. '">View</a></td>
            <td><a href="changeOrderStatus.php?id=' . $row[0].'">Change Status </a></td>
            <td>'.$row[2].'</td>
            <td>'.$roww[1].'</td>
            <td>'.$row[1]. ' ' . $row[8].'</td>
            <td>'.$row[3].'</td>
              </tr>';
    }
     echo '</table></div>';

  }
  else
  {
      echo '<p class="error">' . $q . '</p>';
      echo '<p class="error"> Oh dear. There was an error</p>';
      echo '<p class="error">' . mysqli_error($dbc) .'</p>';
  }

   mysqli_free_result($r);
      //makes links to other pages if required
    if($pages > 1)
   {
     echo '<br /><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'  ;

     //find out what page we are on
     $currentpage = ($start/$display)+1;

     //need a previous button if not first page
     if($currentpage != 1)
     {
        echo '&nbsp;&nbsp;&nbsp;&nbsp;<a href="viewOrdersForCompanies.php?$s=' . ($start - $display) . 
                '&p=' .$pages . '&sort='.$sort.'">&nbspPrevious&nbsp</a>'; 
     }

     //create the numbered pages
     for($i = 1; $i <= $pages; $i++)
     {
         if($i != $currentpage)
         {
             //the 's' paramater is used in the link to determine which the value
             // in the LIMIT clause used in the select statement near the top of the page
             echo '<a href="viewOrdersForCompanies.php?s=' . (($display * ($i-1))) . '&p=' 
                     . $pages . '&sort='.$sort.'">&nbsp' . $i . '&nbsp</a>';
         }
          //&nbsp is a character to insert a whitespace

     }

     //if not last page create next button
     if($currentpage != $pages)
     {
         echo '<a href="viewOrdersForCompanies.php?s=' . ($start+$display) . '&p=' . $pages
                 . '&sort='.$sort.'">&nbspNext&nbsp</a>';
     }

     echo '</p>';

   }


?>

请解释你的代码的作用,它将改进你的答案。这是我经常用于分页的代码示例,有一些简单的事情你需要更改,例如1 sql语句2页面名称3开关循环更改值。它应该直接工作。这非常简单,如果你仍然无法做到,请给我你的电子邮件我可以帮你更多
<ul class="pagination pull-left pagination-md">

     <?php
     // Creates back button in pagination
         if(isset($page)) {

            if($page > 1) {
                $page_minus = $page-1;
            echo "<li><a href='blog.php?page=$page_minus'> &laquo; </a></li>";
            }
         }
     ?>

        <?php 

    global $con;
    $q_pagination = mysqli_prepare($con, "SELECT COUNT(*) FROM admin_panel WHERE ");
    $q_pagination->execute();

    $result_pagination = $q_pagination->get_result();
    $rows_result = $result_pagination->fetch_array();

    $total_rows = array_shift($rows_result);

        $post_per_page = $total_rows/15;
        $post_per_page  = ceil($post_per_page);

    for($i = 1; $i <= $post_per_page; $i++) {
        if(isset($page)){

            if($i == $page) {

                echo "<li class='active'><a href='blog.php?page=$i'>$i</a></li>";
            }
            else { 
                echo "<li><a href='blog.php?page=$i'>$i</a></li>";
            }
        }
    }

    // Creates the forward button in pagination 
        if(isset($page)){

             if($page+1 <= $post_per_page) {
                $page_plus = $page+1;

                echo "<li><a href='blog.php?page=$page_plus'> &raquo; </a></li>";
             } 
         } 
    ?>
     </ul> 
<?php
session_start();
  $companyID = $_SESSION['compid'];

  $db = new Database();
  $dbc = $db->getConnection();

  $display = 3; //number of records per page
  $pages;

  $dbb = new Database();
  $dbcb = $dbb->getConnection();
   $stat = "select * from reservationStatus where resStatId = '$companyID'  ";

  $r = mysqli_query($dbcb, $stat);

//variable for sorting - default is for registration date
$sort = (isset($_GET['sort'])) ? $_GET['sort'] : 'rd';

switch ($sort) 
{
    case 'ln':
        $orderby = 'uniquenumber ASC';
        break;
    case 'fn':
        $orderby = 'status ASC';
        break;
    case 'rd':
        $orderby = 'resId ASC';
        break;
    case 'em'   :
        $orderby = 'resDate ASC';
        break;
    default:
        $orderby = 'resId ASC';
        break;
}


if(isset($_GET['p']) ) //already calculated
{
    $pages=$_GET['p'];  
}
else
{
    //get the total number of records from the table
    $q = "select count(resId) from reservation where companyID = '$companyID'";
    $r = mysqli_query($dbc, $q);
    $row = mysqli_fetch_array($r, MYSQLI_NUM);
    $records=$row[0];

    if($records > $display ) //$display is the number of records per page
    //ceil rounds fractions up to integer value    
      $pages=ceil($records/$display);  
    else
      $pages = 1;
}

//now determine where in the database to start 
if(isset($_GET['s']) ) //already calculated
   $start=$_GET['s'];  
else
    $start = 0;

 //$q = "select * from users LIMIT $start, $display";
 $q = "select * from reservation where companyID = '$companyID' order by $orderby LIMIT $start, $display";

  $r = mysqli_query($dbc, $q);

  if($r)
  {


    echo '<br />';
    //display a table of results
    echo '<div class="container">';
      echo '<h1> Your Orders </h1>';
    echo '<table align="center" class="table table-bordered table-striped" width="60%">';
    echo '<tr bgcolor="#87CEEB">
          <td><b>View</b></td>
          <td><b>Change Status</b></td>
          <td><b><a href="viewOrdersForCompanies.php?sort=fn"> Reference Number</a></b></td>
          <td><b><a href="viewOrdersForCompanies.php?sort=ln">Status</a></b></td>
          <td><b><a href="viewOrdersForCompanies.php?sort=em">Date</a></b></td>
          <td><b><a href="viewOrdersForCompanies.php?sort=rd">Total Price</a></b></td></tr>';   


//above is the header
//loop below adds the user details    
    //use the following to set alternate backgrounds 
    $bg = '#eeeeee';

    while($row = mysqli_fetch_array($r))
    {

         $stat = "select * from reservationStatus where resStatusId = $row[7] ";

  $rr = mysqli_query($dbcb, $stat);
  $roww = mysqli_fetch_array($rr);

        $bg = ($bg=='#eeeeee' ? '#ffffff' : '#eeeeee');

        echo '<tr bgcolor="' . $bg. '">
            <td><a href="viewTaskForCompany.php?did=' .$row[0]. '">View</a></td>
            <td><a href="changeOrderStatus.php?id=' . $row[0].'">Change Status </a></td>
            <td>'.$row[2].'</td>
            <td>'.$roww[1].'</td>
            <td>'.$row[1]. ' ' . $row[8].'</td>
            <td>'.$row[3].'</td>
              </tr>';
    }
     echo '</table></div>';

  }
  else
  {
      echo '<p class="error">' . $q . '</p>';
      echo '<p class="error"> Oh dear. There was an error</p>';
      echo '<p class="error">' . mysqli_error($dbc) .'</p>';
  }

   mysqli_free_result($r);
      //makes links to other pages if required
    if($pages > 1)
   {
     echo '<br /><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'  ;

     //find out what page we are on
     $currentpage = ($start/$display)+1;

     //need a previous button if not first page
     if($currentpage != 1)
     {
        echo '&nbsp;&nbsp;&nbsp;&nbsp;<a href="viewOrdersForCompanies.php?$s=' . ($start - $display) . 
                '&p=' .$pages . '&sort='.$sort.'">&nbspPrevious&nbsp</a>'; 
     }

     //create the numbered pages
     for($i = 1; $i <= $pages; $i++)
     {
         if($i != $currentpage)
         {
             //the 's' paramater is used in the link to determine which the value
             // in the LIMIT clause used in the select statement near the top of the page
             echo '<a href="viewOrdersForCompanies.php?s=' . (($display * ($i-1))) . '&p=' 
                     . $pages . '&sort='.$sort.'">&nbsp' . $i . '&nbsp</a>';
         }
          //&nbsp is a character to insert a whitespace

     }

     //if not last page create next button
     if($currentpage != $pages)
     {
         echo '<a href="viewOrdersForCompanies.php?s=' . ($start+$display) . '&p=' . $pages
                 . '&sort='.$sort.'">&nbspNext&nbsp</a>';
     }

     echo '</p>';

   }


?>