2016-05-03 5 views
0

カテゴリを選択して送信ボタンを押すと、私のページには、自分のSQL文が検索したレコードの量に必要な正しいページ数が表示されます。しかし、たとえばページ2をクリックすると、ページがリフレッシュされ、次のページを表示する代わりにデータが表示されなくなり、カテゴリドロップダウンボックスと検索ボタンが表示されます。

if(isset($_POST['search'])) { 

    $filmCategory = isset($_REQUEST['filmCategory']) ? $_REQUEST['filmCategory'] : null; 

    if (empty($filmCategory)) { 
    $whereclause = ''; 
    }else { 
    $whereclause = "where c.category_id = '$filmCategory'"; 
    } 

    require_once('functions.php'); 

//user input 
    $page = isset($_GET['page']) ? (int)$_GET['page'] : 1; 
    $perPage = isset($_GET['per-page']) && $_GET['per-page'] <=15 ? (int)$_GET['per_page'] : 10; 

//positioning 
$start = ($page > 1) ? ($page * $perPage) - $perPage : 0; 

//query 
    $filmSQL = $db->prepare("SELECT SQL_CALC_FOUND_ROWS f.title, f.description, f.release_year, c.name, 
        f.rating, f.last_update 
      from nfc_film f 
      inner join nfc_film_category fc 
      on f.film_id = fc.film_id 
      inner join nfc_category c 
      on fc.category_id = c.category_id 
      $whereclause 
      LIMIT {$start}, {$perPage}"); 

// execute the query and get the title, description, release year, name, rating and last update of film 
    $filmSQL->execute(); 

//echo the table with the titles and correct data from SQL 
    echo "<table border=\"1\">\n"; 
    echo "<tr><th>Title</th><th>Description</th><th>Release Year</th><th>Category</th><th>Rating</th><th>Last Update</th></tr>"; 

    while ($filmInfo = $filmSQL->fetchObject()) { 

    $upperLower= upperFirst(lowercase($filmInfo->title)); 
     $uLDescription= firstUpper(lowercase($filmInfo->description)); 
     $noChar = substr($uLDescription,0,100).'...'; 
     echo "<form action='filmInfo.php' method='get'>"; 
    echo "<tr> 
      <td><input type='text' name='filmInfo' value='{$upperLower}'</td> 
      <td><p>$noChar.</p></td> 
      <td>{$filmInfo->release_year}</td> 
      <td>{$filmInfo->name}</td> 
      <td>{$filmInfo->rating}</td> 
      <td>{$filmInfo->last_update}</td> 
      <td><input type='submit' value='Film Details' </td> 
      </tr>"; 
    echo" </form>"; 
    } 
    echo "</table>";; 

ので、すべてが上記正常に動作しますが、私は、例えば、ページの更新を2ページを選択して、すべてのデータが

$total = $db->query("SELECT FOUND_ROWS() AS total")->fetch()['total']; 
//use CEIL to round up the pages so here are no pages with decimals 
    $pages = ceil($total/$perPage); 

    for($x = 1; $x <= $pages; $x++):; 
    echo"<div id='pagination'> 

       <a href='?page=$x'>$x</a> 

      </div>"; 
    endfor; 
} 
?> 

を消えるとき、私はそれがレコードの次のページを表示したいが、私はそれを得るカント動作するように:(

答えて

0

があるべき、

//positioning 
$start = isset($_GET['page']) && (int)$_GET['page'] > 1 ? ($_GET['page'] - 1) * $perPage : 0; 
働いhasnt
+0

いずれかのページネーション自己の問題イマイチI tは私が尋ねたレコードの正しい量をもたらしますが、リンクをクリックするとページ番号が表示されますif(isset($ _ POST ['search'])){リセットしても、 – BArthurs122

関連する問題