irwan

Paginate database result

Nov 15th, 2011
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.17 KB | None | 0 0
  1. <?php
  2. // example variable
  3. $sql_limit = (isset($_GET['limit'])) ? $_GET['limit'] : 0;
  4.  
  5. function navigation_links($curr_limit, $num_records, $limit_val, $limit_var = "limit", $next = "next >", $prev = "< prev", $seperator = "|") {
  6.     // rebuild query string
  7.     if (!empty($_SERVER['QUERY_STRING'])) {
  8.         $parts = explode("&", $_SERVER['QUERY_STRING']);
  9.         $newParts = array();
  10.         foreach ($parts as $val) {
  11.             if (stristr($val, $limit_var) == false) array_push($newParts, $val);
  12.         }
  13.         $qs = (count($newParts) > 0) ? "&".implode("&", $newParts) : "";
  14.     } else {
  15.         $qs = "";
  16.     }
  17.     $navi = "";
  18.     if ($curr_limit > 0) {
  19.         $navi .= "<a href=\"".$_SERVER['PHP_SELF']."?".$limit_var. "=".($curr_limit-$limit_val).$qs."\">".$prev."</a>";
  20.     }
  21.     $navi .= " ".$seperator." ";
  22.     if ($curr_limit < ($num_records-$limit_val)) {
  23.         $navi .= "<a href=\"".$_SERVER['PHP_SELF']."?".$limit_var. "=".($curr_limit+$limit_val).$qs."\">".$next."</a>";
  24.     }
  25.     return trim($navi, " | ");
  26. }
  27.  
  28. // example placing links ($num_all is the value of all records in you result set)
  29. echo navigation_links($sql_limit, $num_all, 10);
  30. ?>
  31.  
Advertisement
Add Comment
Please, Sign In to add comment