Search Results

sainath
12:04:10
A simple search Mysql Query I need

I HAVE A TABLE WITH BUSINESS NAMES

THE ICE AGE

THE PIT STOP

CUTE CUT THE SALOON

HOTEL MARS

THE LEGEND HOTELS & RESORTS

THE GATEWAY HOTEL

I want my search like this,
If I type in the search let us say " Pit" , I should get the Business Name THE PIT STOP
If I type in the search let us say " The" , I should get the Business Name THE ICE AGE. THE PIT STOP, CUTE CUT THE SALON, THE LEGEND HOTELS & RESORTS, THE GATEWAY HOTEL
If I type in the search let us say " Tel" (which is a part of Hotel) , I should NOT get any results

Can anyone help me with the mysql search query please.
smo1234
12-05-2010
Start from here.
Keyword Search from MySQL

From this many improvements can be added
sainath
12-06-2010
Thanks! I tried many options but could not get,
Select * from Business where BusinessName like '%$SearchKeyword%' order by Businessid DESC";

Can someone help to give me the Command Statement.
smo1234
12-07-2010
Your statement is correct only. Any error message you are getting. Start from this basic like command and then go to advance search using Like command
sainath
12-12-2010
I am not getting any error message but the search result is not what I am looking for

if I type 'ote' in say a word like 'hotel' i should not get any results, but i get all results where ever the word contains ote that is middle of a word, which is not right.

I wish you can give me the code than give me links
smo1234
12-12-2010
You can restrict that by adding a space before the word 'ote'. As you are searching for records which has word starting with 'ote' so there is always a space before the 'ote' , so your query should be like this .

select * from business where businessName like '% $SearchKeyword%' order by Businessid DESC

Watch the space between % and $SearchKeyword. That will filter the matching records which has words starting with 'ote'.
sainath
12-12-2010
Well firstly thanks for all the help,
but,
you are not getting me what I said earlier, let me explain further

When I type Hotel I get the results like this

1 HOTEL INDU RESIDENCY

2 HOTEL VISHNU RESIDENCY A/C -- -- --THE LODGE

3 HOTEL MORYA

4 HOTEL KARANTHS'

5 HOTEL MEGHALAYA

6 HOTEL SRI SAI DHABA

7 THE LEGEND HOTELS & RESORTS

8 THE GATEWAY HOTEL

9 DOLPHIN HOTELS LIMITED

10 ROYAL FORT HOTEL

But when I type 'ote' which is in the middle of the word 'hotel' I should not get any results, because the word ote is in the middle of the word hotel, yes any words starting with ote will be displayed.

I hope I am clear.
Thanks once again
smo1234
12-13-2010
In this case you will have space in both side of ' ote ' . So when you type ote it won't pick up hotel.

You can also add AND OR combination inside the query. For example along with the above query you can add one OR combination to the same query

WHERE businessname like '% $keyword %' OR businessname like '$keyword %'

This way you will include the words where ote is at the starting.
sainath
12-13-2010
Thanks for all your help, I could finally crack the problem by using Regexp
like this

where REGEXP '[[:<:]]$SearchKeyword'

This has solved the problem, but I will try your examples for further knowledge.

Thanks once again for all your help.

Maybe this time you can help me with Autocomplet of Search Box which should work well both in IE and Mozilla Firefox
Please Login to post your reply or start a new topic