Search Multiple Keywords Not one
Posted: Tue Sep 21, 2010 3:31 pm
Ok, I have the code below and it only searches one keyword of my database please could you tell me how I can search multiple keywords?
I DO NOT WANT TO FOLLOW ANOTHER TUTORIAL PLEASE BECAUSE I AM A N00B!
Thanks Please help Soon!
Code: Select all
<?
/*
* search.php
*
* Script for searching a datbase populated with keywords by the
* populate.php-script.
*/
print "<html><head><title>[Squashy] Search! NOT MESSED UP.</title></head><body>\n";
if( $_POST['keyword'] )
{
/* Connect to the database: */
mysql_pconnect("mysql3.000webhost.com","a4580813_dba","censored")
or die("ERROR: Could not connect to database!");
mysql_select_db("a4580813_db");
/* Get timestamp before executing the query: */
$start_time = getmicrotime();
/* Execute the query that performs the actual search in the DB: */
$result = mysql_query(" SELECT
p.page_url AS url,
COUNT(*) AS occurrences
FROM
page p,
word w,
occurrence o
WHERE
p.page_id = o.page_id AND
w.word_id = o.word_id AND
w.word_word = \"".$_POST['keyword']."\"
GROUP BY
p.page_id
ORDER BY
occurrences DESC
LIMIT ".$_POST['results'] );
/* Get timestamp when the query is finished: */
$end_time = getmicrotime();
/* Present the search-results: */
print "<h2>[Squashy] Search Results For '".$_POST['keyword']."':</h2>\n";
for( $i = 1; $row = mysql_fetch_array($result); $i++ )
{
print "$i. <a href='".$row['url']."'>".$row['url']."</a>\n";
print "(occurrences: ".$row['occurrences'].")<br><br>\n";
}
/* Present how long it took the execute the query: */
print "This search took: ".(substr($end_time-$start_time,0,5))." seconds.";
}
else
{
/* If no keyword is defined, present the search-page instead: */
print "<form method='post'>[Squashy Search] <input type='text' size='20' name='keyword'>\n";
print "Results: <select name='results'><option value='5'>5</option>\n";
print "<option value='10'>10</option><option value='15'>15</option>\n";
print "<option value='20'>20</option></select>\n";
print "<input type='submit' value='Search [Squashy]'></form>\n";
}
print "</body></html>\n";
/* Simple function for retrieving the currenct timestamp in microseconds: */
function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
?>Thanks Please help Soon!