Hi Everybody
I have a html page with a search form on it which when submitted brings up the users required criteria results on a php page. 'search_php'. I have put a pagination script on this page. This works fine when clicking the next link to view the next page of results. After clicking the next link it will say 'search_php?page = 2 in the address bar,... click next again and it says page 3 in the address bar so far so good. At this point I thought :at last, finally sorted this pagination headache.
But then I clciked the previous link... to go back.. which was OK until the 'search_php?page = 1 address came up in the address bar of browser. my original search results were lost. 'search_php?page = 1 was not showing the original required results from the form... Huh... Do I need to have the form on search_php page to eradicate this. Im pretty sure the pagination script is OK I can send it in if it helps
Hope someone can help... Want my life back
Simplecat
More pagination Yawn....
Moderator: General Moderators
- raghavan20
- DevNet Resident
- Posts: 1451
- Joined: Sat Jun 11, 2005 6:57 am
- Location: London, UK
- Contact:
The call from the html page:
The pagination code:
The original search results seem to be lost when i return to first page using previous link
An ideas greatly appreciated
( JAM | Added PHP tags. )
Code: Select all
<form Action ="search-php" Method= "GET">Code: Select all
if(!isset($_GET['page'])){
$page = 1;
} else {
$page = $_GET['page'];
}
// Define the number of results per page
$max_results = 10;
// Figure out the limit for the query based
// on the current page number.
$from = (($page * $max_results) - $max_results);
// Perform MySQL query on only the current page number's results
$sql = mysql_query("SELECT * FROM pages LIMIT $from, $max_results");
while($row = mysql_fetch_array($sql)){
// Build your formatted results here.
echo $row['title']."<br />";
}
// Figure out the total number of results in DB:
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM pages"),0);
// Figure out the total number of pages. Always round up using ceil()
$total_pages = ceil($total_results / $max_results);
// Build Page Number Hyperlinks
echo "<center>Select a Page<br />";
// Build Previous Link
if($page > 1){
$prev = ($page - 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$prev\"><<Previous</a> ";
}
for($i = 1; $i <= $total_pages; $i++){
if(($page) == $i){
echo "$i ";
} else {
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$i\">$i</a> ";
}
}
// Build Next Link
if($page < $total_pages){
$next = ($page + 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$next\">Next>></a>";
}
echo "</center>";
?>An ideas greatly appreciated
( JAM | Added PHP tags. )