954,580 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

User Search

I am trying to create at user search for my website and I'm not sure where to start.

My table name is users with user_id, user_name, name

I'd like to be to search and have a page come up with the top 5 closest results.

Sorry if this question has been asked and that I have no code.

thecameraman
Newbie Poster
6 posts since Oct 2011
Reputation Points: 10
Solved Threads: 0
 

You can use a SELECT query using LIKE and LIMIT. Start here:

http://php.net/mysql_query
http://dev.mysql.com/doc/refman/5.6/en/select.html

pritaeas
Posting Expert
Moderator
5,483 posts since Jul 2006
Reputation Points: 653
Solved Threads: 875
 

Thanks I will check those sites out. I make videos and I am a graphic designer for my company so they automatically assume I am a web programmer.

thecameraman
Newbie Poster
6 posts since Oct 2011
Reputation Points: 10
Solved Threads: 0
 

It doesn't seem to like it. One of the links says to say

"SELECT * FROM users LIKE %'John'%"


But I get an error and the query doesn't run when I have % in there.

thecameraman
Newbie Poster
6 posts since Oct 2011
Reputation Points: 10
Solved Threads: 0
 

Put the percentage signs inside the single quotes.

pritaeas
Posting Expert
Moderator
5,483 posts since Jul 2006
Reputation Points: 653
Solved Threads: 875
 

Using LIKE has always bugged the hell out of me, as it doesn't take relevancy into account (e.g. exact matches before partials). I did a bit of searching for 'fulltext indexing'. I found this thread:

http://stackoverflow.com/questions/1016804/how-to-sort-mysql-fulltext-search-results-by-relevancy

From which the following example has been cobbled:

ALTER TABLE `users` ADD FULLTEXT INDEX `SEARCH`(`username`);

SELECT *, MATCH(username) AGAINST ('John' IN BOOLEAN MODE) AS relevance 
FROM `users`
WHERE MATCH(username) AGAINST ('John' IN BOOLEAN MODE)
ORDER BY relevance DESC


I *think* you can use multiple fields for searching in the MATCH list too.

diafol
Rhod Gilbert Fan (ardav)
Moderator
7,792 posts since Oct 2006
Reputation Points: 1,170
Solved Threads: 1,080
 

Note that you have to have MyISAM tables, to use full-text search.

pritaeas
Posting Expert
Moderator
5,483 posts since Jul 2006
Reputation Points: 653
Solved Threads: 875
 

thank you guys!

thecameraman
Newbie Poster
6 posts since Oct 2011
Reputation Points: 10
Solved Threads: 0
 

This question has already been solved

Post: Markdown Syntax: Formatting Help
You
View similar articles that have also been tagged: