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
passthru() help
Hi everyone,
I'm new to the forum and to PHP. I have some pretty good experience writing shell sc
Production of mango in processing industry
Hi,
We have one scenario ,company is in process industry,they are manufacturing MANGO pul
Why is this function returning a false value when it shouldn't be??
This is in an include file. I want it to check a value in an html form and see if it's just white s
Why use interfaces in PHP (OOP)
I am learning OOP in PHP and its been a pretty good learning experience so far. What I didn't unders
Phase Error I can't seem to find :(`
Hey guys, I can seem to find my phase error on this. I am getting this error
[error]
Pars
Confusing Functions
So, I've been reading up on Functions and I like them! However, I need some help using variables in
Trying to add functions to table
I have this list of characters and I'm trying to figure out what I have to do to put the results of
cPanel API
Hi Guys,
Need a little guidance. I'm trying to get my script to communicate with cPanel (or W
How to clone an SAP ECC using bacup tape on z/os?
We want to clone our production to a different SID using backup tape.
How to convert this array to string
I am having problems converting this array to a string
using print_r($val[1]); I get:
Code: [