>My question is what can I do if someone searches for php script for search?
>
>I would want to use OR in my SQL statment. The problem is how do I write the
>query so that it will detect the number of words sent then put enough ORs
>and LIKE '%$search[1]% in?

The LIKE operator will cheerfully return 1 or 0, which you can "add up", or
in your case, "weight and add up" in your SELECT:

$query = "select 0 ";
# The 0 is a kind of 'yeast' to start off our summation of matches.

$words = explode(' ', $search);

while (list(,$word) = $words){
  $word = trim($word);
  if ($word){
    $query .= " + article_keyword.weight * article_keyword.keyword like
'%$word%' ";
  }
}

$query .= " as score ";
$query .= " from article_keyword, article_data ";
$query .= " where score > 0 ";
$query .= "   and article_data.aid = article_keyword.aid ";
$query .= " order by score desc ";

echo $query, "<BR>\n";

-- 
Like Music?  http://l-i-e.com/artists.htm


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to