AndrewBacca Posted April 30, 2003 Share Posted April 30, 2003 what i want to do is allow users of my site it search my database, using keyword(s) or phrases? for example, if they type \'planets\', then it will list any news/articles with the word \'planets\' in it. and if they enter \'\"jupiters moons\"\' (with the \"\") it will find only the records with \"jupiters moons\" some where in it. im not sure how to do this, so any help would be great cheers Andrew Quote Link to comment https://forums.phpfreaks.com/topic/414-search/ Share on other sites More sharing options...
barbatruc Posted April 30, 2003 Share Posted April 30, 2003 You can use the LIKE command first to get in touch with MySQL queries. You could have something like: (suppose search keywords are posted into $_POST[\'search\']) $keywords = $_POST[\'search\']; if (!get_magic_quotes_gpc()) { $keywords = addslashes($keywords); } $sql = "SELECT * " ."FROM `articles` " ."WHERE title LIKE \'%". $keywords ."%\' " ." OR content LIKE \'%". $keywords ."%\' "; (ensure $keywords is not empty!) This query will return you all articles where the title or the content match keywords you can find in $_POST[\'search\']. Suppose you submitted \"jupiter moons\", this will generate SQL query: SELECT * FROM `articles` WHERE title LIKE \'%jupiter moons%\' OR content LIKE \'%jupiter moons%\' Character \"%\" is used as a wildcard for 1 or several characters. So if the title of an article is \"What the the names of jupiter moons\", this article will be matched. With the MySQL LIKE command, character \"_\" can be used as a single character wildcard. Ref: http://www.mysql.com/doc/en/String_compari..._functions.html For advanced search queries in medium or big tables, you should take a look at the MATCH command because this command is really intended to ease the job of the programmer when building a simple search engine: Ref: http://www.mysql.com/doc/en/Fulltext_Search.html JP. Quote Link to comment https://forums.phpfreaks.com/topic/414-search/#findComment-1390 Share on other sites More sharing options...
AndrewBacca Posted April 30, 2003 Author Share Posted April 30, 2003 cheers, ive got it working Andrew Quote Link to comment https://forums.phpfreaks.com/topic/414-search/#findComment-1395 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.