Jump to content

Recommended Posts

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

Link to comment
https://forums.phpfreaks.com/topic/414-search/
Share on other sites

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.

Link to comment
https://forums.phpfreaks.com/topic/414-search/#findComment-1390
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.