RON_ron Posted August 18, 2010 Share Posted August 18, 2010 I'm trying to pull in data using a particular word from a mysql db (it's like a search facility). But this code only picks if the db has got the exact same word. E.g. if fincom = "DALLS" it pulls the data only when "searchwords" has DALLS. It ignores if "searchwords" has BARBIE DALLS. How can I fix this. I need to pick all records which contains the search word 'fincom' anywhere in searchwords. Hope this makes scene. $SomeVar = $_POST['fincom']; $query = "SELECT * FROM news_home WHERE searchwords = '".$SomeVar."' ORDER BY timestamp DESC"; $results = mysql_query($query); Link to comment https://forums.phpfreaks.com/topic/211033-search-words/ Share on other sites More sharing options...
RON_ron Posted August 18, 2010 Author Share Posted August 18, 2010 am I in the wrong place? Link to comment https://forums.phpfreaks.com/topic/211033-search-words/#findComment-1100636 Share on other sites More sharing options...
litebearer Posted August 18, 2010 Share Posted August 18, 2010 Look here... http://www.brainbell.com/tutorials/MySQL/Using_The_LIKE_Operator.htm Link to comment https://forums.phpfreaks.com/topic/211033-search-words/#findComment-1100670 Share on other sites More sharing options...
RON_ron Posted August 18, 2010 Author Share Posted August 18, 2010 Thanks. This is my new code. Still I can not find BARBIE DOLLS (all records which is similar to $SomeVar). Any idea whats wrong here? $SomeVar = $_POST['fincom']; $query = "SELECT * FROM news_home WHERE searchwords LIKE '%".$SomeVar."%' ORDER BY timestamp DESC"; $results = mysql_query($query); $returnS=""; while($line= mysql_fetch_array($results)) { $returnS.= $line["subject"].",,".$line["timestamp"].",,".$line["News"].",,".$line["links"].",,,"; } Link to comment https://forums.phpfreaks.com/topic/211033-search-words/#findComment-1100851 Share on other sites More sharing options...
AbraCadaver Posted August 18, 2010 Share Posted August 18, 2010 Probably a better way using fulltext searches or something, but this will work: $like = "searchwords LIKE '%".implode("%' OR searchwords LIKE '%", explode(' ', $SomeVar))."%'"; $query = "SELECT * FROM news_home WHERE $like ORDER BY timestamp DESC"; Link to comment https://forums.phpfreaks.com/topic/211033-search-words/#findComment-1100857 Share on other sites More sharing options...
RON_ron Posted August 18, 2010 Author Share Posted August 18, 2010 That's Awesome!! Thanks AbraCadaver! Link to comment https://forums.phpfreaks.com/topic/211033-search-words/#findComment-1100864 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.