Jump to content


Photo

Need help fixing this script


  • Please log in to reply
1 reply to this topic

#1 ger_mac74

ger_mac74
  • Members
  • PipPip
  • Member
  • 24 posts

Posted 21 March 2006 - 09:44 PM

Hi there

I am using this search script that I found online, 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 to php and am having problems here. Can anyone help me out? Please!

Thank you...
Geraldine


<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 parameter
if (!isset($var))
  {
  echo "<p>We dont seem to have a search parameter!</p>";
  exit;
  }

//connect to database
mysql_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 alternative
if ($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 for
echo "<p>You searched for: "" . $var . ""</p>";


// begin to show results set
echo "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>";

?>


#2 ger_mac74

ger_mac74
  • Members
  • PipPip
  • Member
  • 24 posts

Posted 22 March 2006 - 11:46 AM

does anyone have any ideas how i could fix one or two incorrect lines in this script??




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users