forumnz Posted December 26, 2007 Share Posted December 26, 2007 I have 11 rows in my db, all including the letter a, which I searched for. The results page says displaying 1-10 of 11, so it has found them all. My results page has a limit of 10 rows and has a link for the next 10. When I click that link, it does not load 11 etc, just 1-10. Please help this is so frustrating. Thanks, Sam. Code: <?php // Get the search variable from URL $var = @$_GET['q'] ; $trimmed = trim($var); //trim whitespace from the stored variable // rows to return $limit=10; // 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 ** EDIT REQUIRED HERE ** mysql_connect("localhost","aa","aa"); //(host, username, password) //specify database ** EDIT REQUIRED HERE ** mysql_select_db("aa") or die("Unable to select database"); //select which database we're using // Build SQL Query $query = "select * from clickme where keywords LIKE '%$trimmed%' OR buzzname LIKE '%$trimmed%' order by keywords"; // EDIT HERE and specify your table and field names for the SQL query $numresults=mysql_query($query); $numrows=mysql_num_rows($numresults); // If we have no results, offer a google search as an alternative if ($numrows == 0) { echo "<h4>Results</h4>"; echo "<p>Sorry, your search: "" . $trimmed . "" returned zero results</p>"; // google echo "<p>Please click here to suggest a business.</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 you can display the results returned while ($row= mysql_fetch_array($result)) { $title = $row["buzzname"]; $titled = $row["buzzdesc"]; echo "$count) $title<br> $titled<br><br>" ; $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=\"$PHP_SELF?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=\"$PHP_SELF?s=$news&q=$var\">Next 10 >></a>"; } $a = $s + ($limit) ; if ($a > $numrows) { $a = $numrows ; } $b = $s + 1 ; echo "<p>Showing results $b to $a of $numrows</p>"; ?> Quote Link to comment Share on other sites More sharing options...
trq Posted December 26, 2007 Share Posted December 26, 2007 For starters, $s is not defined anywhere in your script. Quote Link to comment Share on other sites More sharing options...
forumnz Posted December 26, 2007 Author Share Posted December 26, 2007 Ok thanks how should I define it? Quote Link to comment Share on other sites More sharing options...
trq Posted December 26, 2007 Share Posted December 26, 2007 Its in $_GET. Quote Link to comment Share on other sites More sharing options...
Ken2k7 Posted December 26, 2007 Share Posted December 26, 2007 Its in $_GET. How did you know that!? ??? Quote Link to comment Share on other sites More sharing options...
forumnz Posted December 26, 2007 Author Share Posted December 26, 2007 Thanks thorpe! Its in $_GET. How did you know that!? ??? Because he saw the Next 10 link at the bottom. Sam. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.