2015-05-04 62 views
0

我在理解如何組合排序和分頁時存在一些問題,當我轉到其他頁面時,它不像第一頁那樣排序。
代碼的第一部分是排序,另一部分是分頁!
這是我的代碼:PHP/MySql將排序和分頁結合起來

<?php 
     $sql = ''; 

      if(isset($_GET['sort'])){ 
       if ($_GET['sort'] == 'year') 
       { 
        $sql = " ORDER BY year"; 
       } 
       elseif ($_GET['sort'] == 'IMDBrating') 
       { 
        $sql = " ORDER BY IMDBrating"; 
       } 
       elseif ($_GET['sort'] == 'userrating') 
       { 
        $sql = " ORDER BY userrating"; 
       } 
      } 

     ?> 

      <th><a href="http://localhost/New folder (3)/index.php?sort=year">Year</a></th> 
      <th><a href="http://localhost/New folder (3)/index.php?sort=IMDBrating">IMDB rating</a></th> 
      <th><a href="http://localhost/New folder (3)/index.php?sort=userrating">user rating</a></th> 

     <?php 
      $pagesize = 5; 

      $recordstart = (int)(isset($_GET['recordstart'])) ? $_GET['recordstart'] : 0; 

      $sql01 = "SELECT * FROM movies ".$sql." LIMIT $recordstart, $pagesize"; 
      $records=mysql_query($sql01); 

      $result = mysql_query("SELECT count(id) FROM movies"); 
      $totalrows = mysql_fetch_row($result); 

      while ($movies=mysql_fetch_array($records)){ 
       echo '<div class="movie_box"><p><div class="news_img"><div class="cover"><img src="'.$movies['cover'].'" width = "183px" height = "271px"/></div><br><button class="trailer_button" type="button">Trailer</button></div><strong><p class="h3"><div class="content">'.$movies['name'].'</p></strong>'.$movies['plot'].'<br><br><strong>Žanr</strong>:'.$movies['genre'].'<br><strong>IMDB ocjena</strong>:'.$movies['IMDBrating'].'<br><strong>Director</strong>:'.$movies['director'].'<br><strong>Glumci</strong>:'.$movies['Starring'].'<br><strong>Ocjena korisnika</strong>:</div><br><div class="trailer">'.$movies['trailer'].'</div><div class="dark"></div></p></div>'; 
      } 

      if ($recordstart > 0){ 
       $prev = $recordstart - $pagesize; 
       $url = $_SERVER['PHP_SELF'].'?recordstart='.$prev; 
       printf('<a id="prev" href="%s"><</a>',$url); 
      } 

      if ($totalrows > ($recordstart + $pagesize)){ 
       $next = $recordstart + $pagesize; 
       $url = $_SERVER['PHP_SELF'].'?recordstart='.$next; 
       printf('<a id="next" href="%s">></a>',$url); 
      } 

     ?> 

回答

1

您的分頁鏈接必須包含你已經使用過所有的$_GET參數。所以......

$url = $_SERVER['PHP_SELF'].'?recordstart='.$prev;

應更改爲

$url = $_SERVER['PHP_SELF'].'?recordstart='.$prev.'&sort='.$_GET['sort'];

$url = $_SERVER['PHP_SELF'].'?recordstart='.$next;

應更改爲

$url = $_SERVER['PHP_SELF'].'?recordstart='.$next.'&sort='.$_GET['sort'];