ger_mac74 Posted March 20, 2006 Share Posted March 20, 2006 Hi thereI am using this search script in a web page that I am designing. It is searching a table in a database. When I open the file the search script finds and lists the first 10 results but the link to Next 10>> is not working. It does find enough results to have a next page as it is also printing "Showing results 1 to 10 of 35"" below the link. I am new enough to php and am having problems here. Can anyone help me out?Cheers[code]<form name="form" action="search.php" method="get"> <input type="text" name="q" /> <input type="submit" name="Submit" value="Search" /></form><?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 parameterif (!isset($var)) { echo "<p>We dont seem to have a search parameter!</p>"; exit; }//connect to databasemysql_connect("cosmos.ucc.ie","gpmc1","itahkauf");//specify database ****mysql_select_db("2006_gpmc1") or die("Unable to select database");// Build SQL Query$query = "SELECT * FROM articles1 WHERE (description LIKE '%$trimmed%' ) OR (articlename LIKE '%$trimmed%' ) ORDER BY description"; $numresults=mysql_query($query); $numrows=mysql_num_rows($numresults);// If we have no results, offer a google search as an alternativeif ($numrows == 0) { echo "Results"; echo "<p>Sorry, your search: "" . $trimmed . "" returned zero results</p>";// google echo "<p><a href=\"http://www.google.com/search?q=" . $trimmed . "\" target=\"_blank\" title=\"Look up " . $trimmed . " on Google\">Click here</a> to try the search on google</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 forecho "<p>You searched for: "" . $var . ""</p>";// begin to show results setecho "Results: <br>";$count = 1 + $s;// now you can display the results returned while ($row= mysql_fetch_array($result)) { $title = $row["articlename"]; $arturl = $row["articleurl"]; echo "$count.) <a href='$arturl'>$title</a><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>";?>[/code][b]EDITED BY OBER: PLEASE USE CODE TAGS WHEN POSTING CODE.[/b] Quote Link to comment Share on other sites More sharing options...
ger_mac74 Posted March 21, 2006 Author Share Posted March 21, 2006 Hi theredoes anyone have any ideas on how to fix this. The search script is essentially working but i am unable to view any links after the 10th one found.....the next 10>> link is not working/displaying results...when clicked on nothing happens.Cheers Quote Link to comment Share on other sites More sharing options...
ger_mac74 Posted March 21, 2006 Author Share Posted March 21, 2006 Hi againI know the code is a bit long but my guess is that there is not much wrong with it. I found the code online and am new to php myself. Mable somebody experienced could help me out...please...thank you Quote Link to comment Share on other sites More sharing options...
ger_mac74 Posted March 22, 2006 Author Share Posted March 22, 2006 does anyone have any ideas on how i would fix one or two incorrect lines in this script? thanks 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.