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

<?php
$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
// To: [EMAIL PROTECTED]
// 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