angryjohnny Posted March 10, 2009 Share Posted March 10, 2009 Hello, I have made a page that pulls results from a database and added a simple search function to it which works fine. Although I was able to code that myself I wanted to add pagination to the page which was beyond my knowledge. I went online and looked through a bunch of tutorials and manage to get one working, although I can't seem to get it working with the search function properly. When I do a search the first page comes out fine but when I click the next button the next pages just seem to grab everything from the database and not just what I was searching for. I have been working with this script for a few days now, any help with this script would be much appreciated. Or if you think I am going about it all wrong please let me know. Here is what I have. <?php // Connect to the database server $dbcnx = @mysql_connect('loc', 'user', 'password'); if (!$dbcnx) { exit('<p>Search for Clients.</p>'); } // Select the clients database if (!@mysql_select_db('mydatabase')) { exit('<p>Unable to locate the Client list ' . 'database at this time.</p>'); } //select all the clients records $req_limit = mysql_query("SELECT id,age,name,height,weight,hair,eyes,stats,location,travel,datejoined,ethnic,services FROM Mable WHERE location LIKE '%$location%' and services LIKE '%$services%'"); $result = mysql_numrows($req_limit); $page_limit = '2'; $page_number = $result / $page_limit; $total_number = ceil($page_number); $number = $total_number - 1; if(isset($_GET['page_number']) || $_GET['page_number'] != '0' ) { $mysql_limit = $page_limit * $_GET['page_number']; } else{ $mysql_limit = '0'; } ?> </head> <body> <div id='wrapper'> <div id='containersubmenu'><div class='container'><img src='images/header/common/banner02a.jpg' name='escorts'/></div> <div id='submenu'> <div class='submenuheader'>SEARCH FUNCTION</div> <form method='post' action="temp.php"> <span class='submenuoptionheader'>Choose a City</span> <select name="location" id="city" size="0"> <option value="">All Cities </option> <option value="toronto">Toronto </option> <option value="vancover" >Vancover </option> </select> <span class='submenuoptionheader'>Services</span> <select name="services" id="city" size="0"> <option value="">All Services </option> <option value="management">management </option> <option value="generalhelp" >help</option> <option value="parttime" >part time </option> </select> <br /><br /> <input type="Submit" id="searchbutton" name="Submit" value="Search" /> </form> <?php // next and pre links if( $number != '0' && empty($_GET['page_number'])) { print '<a href="browsetemp.php?page_number=1">Next page</a>'; } elseif($number !='0' && isset($_GET['page_number']) && $_GET['page_number'] < $number) { $next = $_GET['page_number'] + 1; print '<a href="browsetemp.php?page_number='.$next.'">next page</a>'; print ' <a href="javascript: history.back();">Previous page</a>'; } elseif( $number !='0' && isset($_GET['page_number']) && $_GET['page_number'] >= $number ) { print '<a href="javascript: history.back();">Previous page</a>'; } ?> </div> <div class='containerfeatureboxmain'> <!--this is the start or the feature escorts --> <?php $result = mysql_query("SELECT id,age,name,height,weight,hair,eyes,stats,location,travel,datejoined,ethnic,services FROM mytable WHERE location LIKE '%$location%' and services LIKE '%$services%' ORDER by name ASC Limit $mysql_limit , $page_limit") or die ("erreur requte"); $display = 1; $cols = 0; echo "<table border='0' cellpadding='0' cellspacing='0' bordercolor='red'>"; while($info=mysql_fetch_array($result)) { $id = $info['id']; $name = $info['name']; $age = $info['age']; $height = $info['height']; $weight = $info['weight']; $hair = $info['hair']; $eyes = $info['eyes']; $stats = $info['stats']; $ethnic = $info['ethnic']; $location = $info['location']; $travel = $info['travel']; $services = $info['services']; // Display the employees if($cols == 0){ echo "<tr>\n"; } // put what you would like to display within each cell here echo "<td valign='top'> My results Go here </td>\n"; $cols++; if($cols == $display){ echo "</tr>\n"; $cols = 0; } } // added the following so it would display the correct html if($cols != $display && $cols != 0){ $neededtds = $display - $cols; for($i=0;$i<$neededtds;$i++){ echo "<td></td>\n"; } echo "</tr></table>"; } else { echo "</table>"; } ?> Thanks John Link to comment https://forums.phpfreaks.com/topic/148824-adding-pagination-to-results-with-search-function/ Share on other sites More sharing options...
angryjohnny Posted March 10, 2009 Author Share Posted March 10, 2009 ahh the problem seems to lie in the links themself <a href="browsetemp.php?page_number=1">Next page</a> I believe I just have to pass the search var's in the links. I'll give it a go. Link to comment https://forums.phpfreaks.com/topic/148824-adding-pagination-to-results-with-search-function/#findComment-781589 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.