You are here: Re: unordered word search « PHP Programming Language « IT news, forums, messages
Re: unordered word search

Posted by Erwin Moller on 12/28/05 13:28

correo@ironcito.com wrote:

> Hello,
>
> I've built a search engine that queries a MySQL database. However,
> if I enter "foo bar", the engine will search for that phrase exactly,
> and will not find "bar foo" nor "foo something bar". How do you
> separate words so that the engine finds them individually? I'm thinking
> something like
>
> $tokenized = strtok($query, " ")
> mysql_query(" SELECT ... FROM ...
> while(...){ WHERE ...}
> ")
>
> but I just can't figure it out. Any help is much appreciated. Many
> thanks in advance.
>
> Diego

Hi,

Suppose you have a table with firstname and lastname and etc. etc., and you
want to search firstname.
(I wrote an example in clear steps, so you see what happens. You can code it
a lot more dense if you prefer that.)


$searchwords = "foo bar whatever etc";
$ARRsearch = explode(" ",$searchwords);

$SQL = "SELECT firstname, lastname, ..... FROM tblYouKnow WHERE (";

$SQL_wordsearch = array();

foreach($ARRsearch as $oneWord){
$SQL_wordsearch[] = "(firstname LIKE '%".$oneWord."%')";
}

// add the pieces to SQL, use " OR " as 'glue':
$SQL .= implode(" OR ",$SQL_wordsearch);
$SQL .= ");";

echo $SQL;

// Now execute the SQL the way you are used to.

Good luck.

Regards,
Erwin Moller

PS, I am using the LIKE with %. I am unsure if that is supported like that
in mysql because I never use mysql. Maybe you need different syntax, but
that is just SQL syntax, you'll figure that out.

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация