MySQL Forums
Forum List  »  Source, Builds, Binaries

MySQL return exact search term
Posted by: Jamie Clark
Date: January 19, 2007 01:07AM

I have a search form and I want it to return an exact match for keyword. If someone could help me it would be greatly appreciated. The entire code I am using is:

<?php

// Get the search variable from URL
$var = @$_GET['q'] ;
$trimmed = trim($var); //trim whitespace from the stored variable

// rows to return
$limit=1;

// check for an empty string and display a message.
if ($trimmed == "")
{
echo "";
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("host","username","password"); //(host, username, password)

//specify database ** EDIT REQUIRED HERE **
mysql_select_db("orders") or die("Unable to select database"); //select which database we're using

// Build SQL Query
$query = "select * from orders where orders_phone like \"%$trimmed%\""; // 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: &quot;" . $trimmed . "&quot; 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: &quot;" . $var . "&quot;</p>";

// begin to show results set
//echo "Results";
$count = 1 + $s ;

// now you can display the results returned
while ($row= mysql_fetch_array($result)) {
$title = $row["orders_ID"];
$title2 = $row["orders_name"];
$title3 = $row["orders_last"];
$title4 = $row["orders_address"];
$title5 = $row["orders_city"];
$title6 = $row["orders_state"];
$title7 = $row["orders_zip"];
$title8 = $row["orders_status"];
$title9 = $row["orders_tracking"];
$title10 = $row["orders_model"];
$title11 = $row["orders_leather"];
$title12 = $row["orders_wood"];
$title13 = $row["orders_zip"];
$title14 = $row["orders_status"];
$title15 = $row["orders_tracking"];

echo "<br>#&nbsp;$title<br>&nbsp;$title2&nbsp;$title3<br>&nbsp;$title4<br>&nbsp;$title5,&nbsp;$title6&nbsp;$title7<br>" ;
echo "<br>&nbsp;$title10<br>&nbsp;$title11<br>&nbsp;$title12" ;
echo "<br><br>&nbsp;<font color=FF0000>Order Status:</font>&nbsp;$title8<br><br>&nbsp;Tracking #:&nbsp;$title9<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 "&nbsp;<a href=\"$PHP_SELF?s=$prevs&q=$var\">&lt;&lt;
Prev 10</a>&nbsp&nbsp;";
}

// 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 "&nbsp;<a href=\"$PHP_SELF?s=$news&q=$var\">Next 10 &gt;&gt;</a>";
}

$a = $s + ($limit) ;
if ($a > $numrows) { $a = $numrows ; }
$b = $s + 1 ;
echo "";

?>

Thanks,

Options: ReplyQuote


Subject
Views
Written By
Posted
MySQL return exact search term
6962
January 19, 2007 01:07AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.