Really need helps regarding Pagination with Sort
         
               Posted on 
16th Feb 2014 07:03 pm by  
admin
        
        I need someone helps regarding pagination problem...i actually want to make my page limited to let say 50 
so it will look like this 
page1=0-50
page2=51-100
Then i want to sort let say based on the name of a person by giving <a href> and ORDER i can do the sort, but the problem occurs when i want to sort records on page 2, everything got messed up
Can anyone help me..below is the code:
 <?php
$var2 =$_GET['title'] ;
$var3 =$_GET['field'] ;
$var4 =$_GET['country'] ;
$orderby = $_GET['orderby'];
if(empty($_GET['orderby'])){
$orderby="firstname";}
$sort=$_GET['sort'];
if(empty($_GET['sort'])){
$sort="DESC";}
if($sort=="DESC"){
$sort="ASC";}else
if($sort=="ASC"){
$sort="DESC";}
$trimmed2 = trim($var2); //trim whitespace from the stored variable
$trimmed3 = trim($var3);
$trimmed4 = trim($var4);
$table = "members";
$field_to_search2 = "title";
$field_to_search3 = "field";
$field_to_search4 = "country";
$query = "SELECT COUNT(*)FROM $table WHERE $field_to_search2 LIKE '%$trimmed2%'AND $field_to_search3 LIKE '%$trimmed3%' AND $field_to_search LIKE '%$trimmed%' AND $field_to_search4 LIKE '%$trimmed4%' ORDER BY $orderby $sort";
$result = mysql_query($query) or trigger_error("SQL", E_USER_ERROR);  
$r = mysql_fetch_row($result);  
$numrow = $r[0];     
$rowsperpage = 100;  
$totalpages = ceil($numrow / $rowsperpage);       
if (isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) {      
$currentpage = (int) $_GET['currentpage'];     
} else {  
$currentpage = 1;  
}   
if ($currentpage > $totalpages) {        
  $currentpage = $totalpages;  
 }   
  if ($currentpage < 1) {        
    $currentpage = 1;  
 } 
   $offset = ($currentpage - 1) * $rowsperpage;     
   $query5 = "SELECT * FROM $table WHERE $field_to_search2 LIKE '%$trimmed2%'AND $field_to_search3 LIKE '%$trimmed3%' AND $field_to_search LIKE '%$trimmed%' AND $field_to_search4 LIKE '%$trimmed4%' AND $field_to_search5 LIKE '%$trimmed5%' ORDER BY $orderby $sort";   
   $result5 = mysql_query($query5);
   $count5 = mysql_num_rows($result5);
$query = "SELECT * FROM $table WHERE $field_to_search2 LIKE '%$trimmed2%'AND $field_to_search3 LIKE '%$trimmed3%' AND $field_to_search4 LIKE '%$trimmed4%'ORDER BY $orderby $sort LIMIT $offset, $rowsperpage";
$result = mysql_query($query) or trigger_error("SQL", E_USER_ERROR); 
$count = mysql_num_rows($result);
$info = mysql_fetch_array($result);
$numresults=mysql_query($query);
$numrows=mysql_num_rows($numresults);
$mypage=$_SERVER['PHP_SELF']; 
if ($numrows == 0 )
{
echo "<center><font face=arial size=2><p>Search </font>"."<font face=arial size=2> returned zero results</font></p></center>";
}
if (empty($s))
{
$s=0;
} 
// get results
$result = mysql_query($query) or die("Couldn't execute query");
if($numrows > 1 ){$return = "results";}
else{ $return = "result"; }
echo "<center><table><tr><td><a href=page.php?title=$var2&field=$varx3&q=$var&country=$var4&campus=$var5&orderby=firstname&sort=$sort&search2=Find class=sort>Name</a></td><td width = 70 bgcolor=brown><a href=page.php?title=$var2&field=$var3&country=$var4&orderby=gender&sort=$sort&search2=Find class=sort>gender</a></td></tr></table></center>"; 
$count = $s + 1   ;
while ($r= mysql_fetch_array($result))
{
$gender = $r["gender"];
$firstname1 = $r["firstname"];
$field = $r["field"];
$country = $r["country"];
$count++ ;
echo "<center><table><tr><td>$firstname</td><td>$gender</td><td>$country</td></tr></table>";
}
  $range = 5;    
 echo"<center>";
 if ($currentpage > 1) {   
$var2 =$_GET['title'] ;
$var3 =$_GET['field'] ;
$var4 =$_GET['country'] ;       
    echo " <a href='{$_SERVER['PHP_SELF']}?title=$var2&field=$var3&country=$var4&search2=Find¤tpage=1'><font face=verdana size=2>First</font></a><font face=verdana size=2> |</font>";  
    $prevpage = $currentpage - 1;  
    echo " <a href='{$_SERVER['PHP_SELF']}?title=$var2&field=$var3&country=$var4&search2=Find¤tpage=$prevpage'><font face=verdana size=2>Previous</font></a><font face=verdana size=2> | </font>";  
 }       
   for ($x = ($currentpage - $range); $x < ($currentpage + $range); $x++) {        
    if (($x > 0) && ($x <= $totalpages)) {           
       if ($x == $currentpage) {             
          echo "<font face=verdana size=2> [<b>$x</b>] </font>";                  
       } else {           
      echo " <a href='{$_SERVER['PHP_SELF']}?title=$var2&field=$var3&country=$var4&search2=Find+resume¤tpage=$x'><font face=verdana size=2>$x</font></a> ";  
       }   
    }   
 }      
 if ($currentpage < $totalpages) {        
    $nextpage = $currentpage + 1;          
    echo "<font face=verdana size=2>|</font> <a href='{$_SERVER['PHP_SELF']}?title=$var2&field=$var3&country=$var4&search2=Find¤tpage=$nextpage'><font face=verdana size=2>Next</font></a><font face=verdana size=2> | </font>";        
    echo "<a href='{$_SERVER['PHP_SELF']}?title=$var2&field=$var3&country=$var4search2=Find¤tpage=$totalpages'><font face=verdana size=2>Last</font></a>";  
 }
   echo"</center>";    
?>
Thanks       
      
       
		No comments posted yet	
	Your Answer:
	        Login to answer
        
323  
 38 
 
    
    
 
Other forums
max() problem 
I have a while loop to get image names. 
Code: $imagequery = mysql_query("SELECT * FROM ad_i
Date help - fetch dates for Mondays between xxx and yyy? 
Does anyone know the best way to do this? I have two dates, say:
2010-01-26 and 2010-05-30
VAT 
how should I deal with VAT?
if I have a product that costs £5.00 and VAT @ 17.5% (£0.87
need a script for 3 pages 
I have a customer who wants me to set up a site with a number of pages with the following requiremen
Anti Spam Code 
Ok where do i start? Probably by telling you I have very little working knowledge of PHP and that I 
Got A Free Server :( 
So I was given a free server 
http://shopping.yahoo.com/p:Compaq%20ProLiant%201500%20Server:1
PHP Cannot redeclare class 
I have 6 files, and two of them do not seem to want to play well. I keep getting a "Cannot rede
if statements problems 
Hi. I'm trying to make a web form, but I kind of hit a dead end trying to figure out why it doesn't 
php wont update my db 
hello,
sorry for posting in mysql forum but i dont know where exactly is the problem but here
How to change www in url with a specified name 
Hi
I'm trying to change the url http://www.sitename.com/apparels to something like below
http: