Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
Greetings O' Wise Ones
I'm trying to search a database field (of type TEXT) containing a description of certain tropical plants using a number of keywords.
I'm allowing the user to type in certain keys words (e.g. "red flower october") into a field, an want to return all records whos description contains one or all of the key words.
loop within a loop?
I'm not sure whether to loop through each keyword (i.e. "red" then "flower" then "october") searching for it in the description then return the result and move to the next record.
Any tips would be much appreciated.
I've tried :-
Is there a better way to do this using regexes?
Thanks
MD
I'm trying to search a database field (of type TEXT) containing a description of certain tropical plants using a number of keywords.
I'm allowing the user to type in certain keys words (e.g. "red flower october") into a field, an want to return all records whos description contains one or all of the key words.
loop within a loop?
I'm not sure whether to loop through each keyword (i.e. "red" then "flower" then "october") searching for it in the description then return the result and move to the next record.
Any tips would be much appreciated.
I've tried :-
returning multiple records that match the $keyword's criteria.$sql_stmt = "select * from database where "; foreach $keyword ( @keywords ) { $sql_stmt .= " AND ( PlantDescription REGEXP "s/\$keyword/" );" }
Is there a better way to do this using regexes?
Thanks
MD
20030709 Edit by Corion: Fixed formatting, added code tags
Back to
Seekers of Perl Wisdom