mat3000000 Posted June 9, 2011 Share Posted June 9, 2011 This code works, however when you click the next link, it does not redirect, however the $s variable is updated in the URL. Can anyone see where i'm going wrong, apart from no validation yet <?php echo '<html> <body> <form name="form" action="searchagain.php" method="get"> <input type="text" name="q" /> <input type="submit" name="Submit" value="Search" /> </form> </body> </html>'; // Get the search variable from URL $var = @$_GET['q'] ; $trimmed = trim($var); //trim whitespace from the stored variable // rows to return $limit=8; // check for an empty string and display a message. if ($trimmed == "") { echo "<p>Please enter a search...</p>"; exit; } // check for a search parameter if (!isset($var)) { echo "<p>We dont seem to have a search parameter!</p>"; exit; } //connect to your database mysql_connect("","",""); mysql_select_db("wadkin") or die("Unable to select database"); //select which database we're using // Build SQL Query $query = "select * from books where Title like \"%$trimmed%\" OR Description like \"%$trimmed%\" OR URL like \"%$trimmed%\" order by Title"; $numresults=mysql_query($query); $numrows=mysql_num_rows($numresults); // If we have no results if ($numrows == 0) { echo "<h4>Results</h4>"; echo "<p>Sorry, your search: "" . $trimmed . "" returned zero results</p>"; } // next determine if s has been passed to script, if not use 0 if (empty($s)) { $s=0; } // get results $query .= " limit $s,$limit"; $result = mysql_query($query) or die("Couldn't execute query"); // display what the person searched for echo "<p>You searched for: "" . $var . ""</p>"; // begin to show results set echo "Results<br><br>"; $count = 1 + $s ; // now can display the results returned while ($row= mysql_fetch_array($result)) { $title = $row["Title"]; $d = $row["Description"]; $url = $row["URL"]; echo "<p>$count) $title<br>$d<br>$url</p>" ; $count++ ; } $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=\"searchagain.php?s=$prevs&q=$var\"><< 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++; } // 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=\"searchagain.php?s=$news&q=$var\">Next >></a>"; } $a = $s + ($limit) ; if ($a > $numrows) { $a = $numrows ; } $b = $s + 1 ; echo "<p>Showing results $b to $a of $numrows</p>"; ?> Link to comment https://forums.phpfreaks.com/topic/238924-help-with-pages-in-search-script/ Share on other sites More sharing options...
mat3000000 Posted June 10, 2011 Author Share Posted June 10, 2011 Does anyone know? Link to comment https://forums.phpfreaks.com/topic/238924-help-with-pages-in-search-script/#findComment-1227914 Share on other sites More sharing options...
Maq Posted June 10, 2011 Share Posted June 10, 2011 Where is the redirect code? Link to comment https://forums.phpfreaks.com/topic/238924-help-with-pages-in-search-script/#findComment-1227978 Share on other sites More sharing options...
mat3000000 Posted June 10, 2011 Author Share Posted June 10, 2011 // not last page so give NEXT link $news=$s+$limit; echo " <a href=\"searchagain.php?s=$news&q=$var\">Next >></a>"; } Is this what you mean? Link to comment https://forums.phpfreaks.com/topic/238924-help-with-pages-in-search-script/#findComment-1228013 Share on other sites More sharing options...
mat3000000 Posted June 10, 2011 Author Share Posted June 10, 2011 I have fixed it everyone. There was no problems with the code, just me being an idiot! Forgot to GET the $s variable from URL!!! Link to comment https://forums.phpfreaks.com/topic/238924-help-with-pages-in-search-script/#findComment-1228014 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.