Search the Community
Showing results for tags 'paginating'.
-
Hi, This will be my first time to use a criteria-based search with pagination togather. I want to paginat my search query results and be able to go to next and previous pages of my search results based on the search criteria. For now the pagination returns all records from the table. I have tried to include one search term in the link for NEXT and PREVIOUS buttons but still when I click the button I next page load all the records from the MySQL table. The search term (e.g. gallery.php?cmaterial=$cmaterial) appears in the URL only when I click NEXT and not on the current page. Even then the search results do not match the search term. Here is my code: <?php $s=$_GET['s']; // rows to return $limit=12; // check for a search parameter //if (!isset($var)) // { // echo "<p>We dont seem to have a search parameter!</p>"; // exit; // } $ctitle = mysql_real_escape_string($_POST['ctitle']); $csubject = mysql_real_escape_string($_POST['csubject']); $creference = mysql_real_escape_string($_POST['creference']); $cat_id = ($_POST['cat_id']); $cmaterial = mysql_real_escape_string($_POST['cmaterial']); $ctechnic = mysql_real_escape_string($_POST['ctechnic']); $cartist = mysql_real_escape_string($_POST['cartist']); $csource = mysql_real_escape_string($_POST['csource']); $stolen = mysql_real_escape_string($_POST['stolen']); $sql = "SELECT * FROM collections WHERE c_id>0 AND `ctitle` LIKE '%".$ctitle."%' AND `csubject` LIKE '%".$csubject."%' AND `creference` LIKE '%".$creference."%' AND `cat_id` LIKE '%".$cat_id."%' AND `cmaterial` LIKE '%".$cmaterial."%' AND `ctechnic` LIKE '%".$ctechnic."%' AND `cartist` LIKE '%".$cartist."%' AND `csource` LIKE '%".$csource."%' ORDER BY c_id ASC"; $sql_result = mysql_query ($sql, $connection ) or die ('request "Could not execute SQL query" '.$sql); $numresults=mysql_query($sql); $numrows=mysql_num_rows($numresults); // next determine if s has been passed to script, if not use 0 if (empty($s)) { $s=0; } // get results $sql .= " limit $s,$limit"; $sql_result = mysql_query($sql) or die("Couldn't execute query"); $count = 1 + $s ; while ($row = mysql_fetch_assoc($sql_result)) { $c_id=$row['c_id']; ?> ..............................................HTML RESULT TABLE ................................................... <?php $currPage = (($s/$limit) + 1); //break before paging echo "<br />"; // next we need to do the links to other results if ($s>=1) { // bypass PREV link if s is 0 $prevs=($s-$limit); print " <a href=\"$PHP_SELF?s=$prevs&cmaterial=$cmaterial\"><< Prev 10</a>  "; } // calculate number of pages needing links $pages=intval($numrows/$limit); // $pages now contains int of pages needed unless there is a remainder from division if ($numrows%$limit) { // has remainder so add one page $pages++; } echo "</table>"; // check to see if last page if (!((($s+$limit)/$limit)==$pages) && $pages!=1) { // not last page so give NEXT link $news=$s+$limit; echo " <a href=\"$PHP_SELF?s=$news&cmaterial=$cmaterial\">Next 10 >></a>"; } $a = $s + ($limit) ; if ($a > $numrows) { $a = $numrows ; } $b = $s + 1 ; echo "<p>Showing results $b to $a of $numrows</p>"; ?> What should I do next? Thank you in advance. Joseph