robert_gsfame Posted October 26, 2009 Share Posted October 26, 2009 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 for any helps Quote Link to comment Share on other sites More sharing options...
PugJr Posted October 26, 2009 Share Posted October 26, 2009 You'd be surprised on how much faster of posts you will get if you use tags. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.