Re: multiple search

From: Date: Mon, 22 Jul 2002 23:04:50 +0000
Subject: Re: multiple search
Groups: php.general 
Request: Send a blank email to php-general+get-108972@lists.php.net to get a copy of this message
>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

« previous php.general (#108972) next »