Как мне разбить на страницы результаты API CareerJet на PHP?

#php #api #pagination

#php #API #разбивка на страницы

Вопрос:

Я использую API CareerJet для создания своего веб-сайта jobsearch, в настоящее время я почти закончил со всем, кроме одного, разбивая на страницы собранные данные, которые я получаю от них, я мог бы решить эту проблему, если бы она была в документации, но, по-видимому, ее нет, и только говорит

 # Basic paging code
  if( $page > 1 ){
    echo "Use $page - 1 to link to previous pagen";
  }
  echo "You are on page $pagen" ;
  if ( $page < $result->pages ){
    echo "Use $page   1 to link to next pagen" ;
  }
 

теперь я не знаю, что добавить туда, чтобы заставить его работать, я пытался следовать инструкциям, но он перенаправляет только на первую страницу, это мой первый проект, в котором используются некоторые API и PHP для моего школьного проекта, и я хотел бы знать, как это сделать. Здесь я получаю API и код для своего проекта.

И это мой текущий код:

 <?php 

session_start();
error_reporting(0);

require_once "Careerjet_API.php";

$cjapi = new Careerjet_API('en_PH');

$api = new Careerjet_API('en_PH') ;
$page = 1 ; # Or from parameters.

$output = '';
$thead = '';

if(isset($_POST['submit'])) {
  $searchq = $_POST['key_search'];
  $searchw = $_POST['location'];

$result = $api->search(array(
  'keywords' => $searchq,
  'location' => $searchw,
  'page' => $page ,
  'affid' => '678bdee048',
  'pagesize' => 5,
));


if ( $result->type == 'JOBS' ){
  echo "Found ".$result->hits." jobs" ;
  echo " on ".$result->pages." pagesn" ;
  $jobs = $result->jobs;

  if($jobs == false) {
    $thead = '<div class="card">
    <h1 class="card-body">No results found</h1>
    <p class="mb-2">No results found. Please modify your search.</p>
  </div>';
  } else {
    foreach( $jobs as $job ) {
      $output .= ' <tbody>
              <tr scope="row" align="center">
                        <td>'.$job->title.'</td>
                        <td width="150px">'.$job->locations.'</td>
                        <td align = "center">'.$job->company.'</td>
                         <td align = "center" width="150px">'.$job->salary.'</td>
                        <td><small class="d-block" >'.$job->description.'</small></td>
                        <td width="20px"><a href="'.$job->url.'">APPLY NOW</a></td>
              </tr>
              </tbody> ';
      $thead = ' 
              <div class="table-responsive1">
                <table class="table table-striped table-dark table-striped">
                  <thead>
                    <tr align = "center">
                      <th scope="col">Hiring</th>
                      <th scope="col">Location</th>
                      <th scope="col">Company</th>
                      <th scope="col">Salary</th>
                      <th scope="col">Description</th>
                      <th scope="col"></th>
                    </tr>
                  </thead>
                  '.$output.'
                </table>
              </div>
            </div>';
    }
  }

  # Basic paging code
  if( $page > 1 ){
    echo "Use $page - 1 to link to previous pagen";
  }
  echo "You are on page $pagen" ;
  if ( $page < $result->pages ){
    echo "Use $page   1 to link to next pagen" ;
  }
}
# When location is ambiguous
if ( $result->type == 'LOCATIONS' ){
  $locations = $result->solveLocations ;
  foreach ( $locations as $loc ){
    echo $loc->name."n" ; # For end user display
    ## Use $loc->location_id when making next search call
    ## as 'location_id' parameter
  }
}
}

?>

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JobSite</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet"  type="text/css" href="new.css">
   <link rel="stylesheet"   type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"/>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg OMhuP IlRH9sENBO0LRn5q 8nbTov4 1p" crossorigin="anonymous"></script>
  <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script>
  <style>
  .table td {
text-align: center;
}
@media (min-width: 1200px) {
    .container{
        max-width: 1500px;
    }
}

</style>

</head>
  <body class="bg-image" style="background-image: url('bgwallpaper.jpg'); height: 100vh; background-repeat: repeat-y;">

<!-- Header -->
<nav>
     <div class="logo"><a href="searchbar.php">JOBsite</a></div>
      <label for="btn" class="icon">
      <span class="fas fa-bars"></span>
    </label>
    <input type="checkbox" id="btn"> 
     <ul>
       <li><a href="#">About</a></li>
       <li>
         <a href="#">Services</a>
         <ul>
           <li><a href="#">Interview tips</a></li>
           <li><a href="#">Job Strategy</a></li>
           <li><a href="#">Pandemic advice</a></li>
           <li><a href="#">Career management</a></li>
         </ul>
       </li>
       <li>
         <a href="#">Features</a>
         <ul>
           <li><a href="#">Resume</a></li>
           <li><a href="#">Employer</a></li>
         </ul>
       </li>
       <li>
         <a href="#">Contacts</a>
         <ul>
           <li><a href="#">Inquiry</a></li>
           <li><a href="#">DOLE</a></li>
           <li><a href="#">JobSITE</a></li>
         </ul>
       </li>
       <li>
          <?php if($_SESSION['username'])
          echo '<a href="logout.php">Logout</a></li>';
          else{
        echo '<li><a href="login.php">Login/Register</a></li>'; }
            ?>
        </li>
     </ul>
   </nav>

   <br>
   <br>

<div class="container">
  <div class="row">
    <div class="col-lg-6 offset-lg">
      <form action= "searchbar-result.php" method = "POST">
        <h3 class="text-center text-light">Find Better. Faster with JobSearch</h3>
          <div class="input-group" id="adv-search">
            <input type="text" class="form-control form-control-search" style="margin-right:20px;" name="key_search" placeholder="Search for your job." />
            <input type="text" class="form-control form-control-search" style="margin-right:5px;" name="location" placeholder="Insert Location" />
              <button type="submit" name= "submit" class="btn btn-primary"><span class="fa fa-search" aria-hidden="true"></span></button>
      </div>
    </div>
  </div>
</div>
                  </form>
<br>
<br>
  <div class="container">
  <div align ="center">
  <?php 
    print("$thead");
  ?>
</div>
</div>
</body>   
</html>