i don't doubt that there are probably better ways of going about this chris,
but you can do something like;

$words = explode(" ", $searchText);

$query = "SELECT * FROM table WHERE ";
foreach ($words as $word) {
        $query .= "field LIKE '%word%' AND ";
$query .= "field!='' ORDER BY something";

$results = mysql_query($query);

as for ranking the results - i have heard people mentioning the fulltext
index in mysql, and there's some cool calculations floating around in the
archives somewhere, but they escape me at the moment and i haven't got
around to implementing a decent search engine yet :)

// -----Original Message-----
// From: Chris Payne [mailto:[EMAIL PROTECTED]]
// Sent: Thursday, 17 January 2002 10:34 AM
// Subject: [PHP-DB] Searching a variable
// Hi there everyone,
// Thanks for all the help recently everyone, it's very 
// appreciated.  I just have one last question if that's ok :-)
// I have a string taken from a form, now this string could 
// contain 1 word or it would contain 10, what I need to know 
// is how do I search a DB for each word in the string?  I have 
// a simple search engine which works great for works next to 
// each other in the DB but I need it to search each entry for 
// ALL words entered, whether they are next to each other in 
// the DB or 3 words apart, how can I do this?
// Thanks for all your help.
// Regards
// Chris Payne
// www.planetoxygene.com

PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to