>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