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&currentpage=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&currentpage=$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&currentpage=$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&currentpage=$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&currentpage=$totalpages'><font face=verdana size=2>Last</font></a>";
}
echo"</center>";


?>

Thanks

No comments posted yet

Your Answer:

Login to answer
323 Like 38 Dislike
Previous forums Next forums
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: [

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash