2014-09-28 105 views
0

好吧,我現在已經完成了分頁,當它使用它顯示完美的數據,但當點擊頁面2的下一個5結果顯示空白和網址也在改變,即 - 當第一次搜索檢索的網址結果頁面是頁面1後分頁不工作?

http://myurl.com/search.php?find=sa & catname =所有+企業+型

和第2頁被點擊時它顯示空白與URL

HTTP ://myurl.com/search.php?page=2

我可以做什麼要解決它嗎?

$find = $_GET['find']; 
$find = strtoupper($find); 
$find = strip_tags($find); 
$find = trim ($find); 
$allcatmain=$_GET['catname']; 


//Now we search for our search term, in the field the user specified 

$page = (int)(!isset($_GET["page"]) ? 1 : $_GET["page"]); 
if ($page <= 0) $page = 1; 

$per_page = 5; // Set how many records do you want to display per page. 

$startpoint = ($page * $per_page) - $per_page; 

$statement = "information 
    WHERE (title LIKE '%".$find."%' AND catname IN $allcat) OR (address LIKE '%".$find."%' AND  catname IN $allcat) ORDER BY id DESC"; 


    $results ="SELECT * FROM ".$statement." LIMIT ".$startpoint.",".$per_page.""; 
    $data=mysql_query($results); 


    //And we display the results 
    while($result = mysql_fetch_array($data)) 
      { 
    $link=$result['web']; 
    echo $result['title']; 
    echo $result['address']; 

    } 
    // displaying paginaiton. 
    echo pagination($statement,$per_page,$page); 

分頁功能

  function pagination($query,$per_page=10,$page=1,$url='?'){ 

$query = "SELECT COUNT(*) as `num` FROM {$query}"; 
$row = mysql_fetch_array(mysql_query($query)); 
$total = $row['num']; 
$adjacents = "2"; 

$prevlabel = "&lsaquo; Prev"; 
$nextlabel = "Next &rsaquo;"; 

$page = ($page == 0 ? 1 : $page); 
$start = ($page - 1) * $per_page;        

$prev = $page - 1;       
$next = $page + 1; 

$lastpage = ceil($total/$per_page); 

$lpm1 = $lastpage - 1; // //last page minus 1 

$pagination = ""; 
if($lastpage > 1){ 
    $pagination .= "<ul class='pagination'>"; 


     if ($page > 1) $pagination.= "<li><a href='{$url}page={$prev}'>{$prevlabel}</a></li>"; 

    if ($lastpage < 7 + ($adjacents * 2)){ 
     for ($counter = 1; $counter <= $lastpage; $counter++){ 
      if ($counter == $page) 
       $pagination.= "<li><a class='current'>{$counter}</a></li>"; 
      else 
       $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";     
     } 

    } elseif($lastpage > 5 + ($adjacents * 2)){ 

     if($page < 1 + ($adjacents * 2)) { 

      for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++){ 
       if ($counter == $page) 
        $pagination.= "<li><a class='current'>{$counter}</a></li>"; 
       else 
        $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";     
      } 
      $pagination.= "<li class='dot'>...</li>"; 
      $pagination.= "<li><a href='{$url}page={$lpm1}'>{$lpm1}</a></li>"; 
      $pagination.= "<li><a href='{$url}page={$lastpage}'>{$lastpage}</a></li>"; 

     } elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)) { 

      $pagination.= "<li><a href='{$url}page=1'>1</a></li>"; 
      $pagination.= "<li><a href='{$url}page=2'>2</a></li>"; 
      $pagination.= "<li class='dot'>...</li>"; 
      for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) { 
       if ($counter == $page) 
        $pagination.= "<li><a class='current'>{$counter}</a></li>"; 
       else 
        $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";     
      } 
      $pagination.= "<li class='dot'>..</li>"; 
      $pagination.= "<li><a href='{$url}page={$lpm1}'>{$lpm1}</a></li>"; 
      $pagination.= "<li><a href='{$url}page={$lastpage}'>{$lastpage}</a></li>";  

     } else { 

      $pagination.= "<li><a href='{$url}page=1'>1</a></li>"; 
      $pagination.= "<li><a href='{$url}page=2'>2</a></li>"; 
      $pagination.= "<li class='dot'>..</li>"; 
      for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) { 
       if ($counter == $page) 
        $pagination.= "<li><a class='current'>{$counter}</a></li>"; 
       else 
        $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";     
      } 
     } 
    } 

     if ($page < $counter - 1) $pagination.= "<li><a href='{$url}page={$next}'>{$nextlabel}</a></li>"; 

    $pagination.= "</ul>";  
} 

return $pagination; 
    } 
    ?> 
+0

顯示分頁功能。 – Gervs 2014-09-28 07:25:52

+0

已添加該功能,請參閱編輯 – 2014-09-28 07:29:48

回答

0

你需要通過(部分)現有的查詢字符串$網址:

$url = '?'; 
foreach ($_GET as $key => $value) { 
    if ($key != 'page') { 
     $url .= $key . '=' . $value . '&'; 
    } 
} 
// displaying paginaiton. 
echo pagination($statement,$per_page,$page, $url);