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

Need Help Creating a Search Page

Hey,
I've been trying to setup a search page for the last week with no luck. I've been reading books (maybe not the right ones) and searching the web for examples, also with no luck.

I'm using Microsoft Access for my database and Coldfusion 6.1 for my server.

What I've been trying to do is - all on the same page; have a text box to enter your search word, a button to click to start the search, and last a list box for the search result(s) to be displayed.

If anyone can help with the code, web link with a good example, or even a high quality book so I can finish this project of mine that would be great.

Thank you all for your time and effort.

Walyer
Light Poster
28 posts since Apr 2005
Reputation Points: 10
Solved Threads: 1
 

Nevermind!

Walyer
Light Poster
28 posts since Apr 2005
Reputation Points: 10
Solved Threads: 1
 

Easy dude!

The best way I've found in doing it was to create a form that sends keywords/whateverYourSearchingFieldsAre to a search results page geared to receive the field data and spew it out.

SELECT *
FROM tablename
WHERE yourfield = '%#FORM.field1#%' AND yourfield = '%#FORM.field2#%'

Change where you need to... obviously.

Tiggy :cool:

tigeralex
Newbie Poster
2 posts since May 2005
Reputation Points: 10
Solved Threads: 1
 

Thanks, I'll give it a try :D

Walyer
Light Poster
28 posts since Apr 2005
Reputation Points: 10
Solved Threads: 1
 

This is how I got my search page to work, for those who may need help to do the same thing

Thanks to tigeralex for some much needed information

MAIN SEARCH PAGE

\\Database information for my Artist search

SELECT *
FROM MusicList
WHERE Artist LIKE '%#FORM.Artist#%'

\\Database information for my song Title search

SELECT *
FROM MusicList
WHERE Title LIKE '%#FORM.Title#%'

....
....
....
\\forms I used search my database

\\Artist search form

\\Title search form


OUTPUT FOR SEARCHED DATA

Take your "music.cfm" page and do two "SAVE AS" and rename to "artist.cfm" and "title.cfm". Now add the following code to the bottom of:

"artist.cfm" then re-save

//Displays "Artist" data that was search
# Search_Artist.Artist#

//Displays the "Title" information that corresponds with the "Artist" data that was search
# Search_Artist.Title#

"title.cfm" then re-save

//Displays "Title" data that was search
# Search_Title.Title#

//Displays the "Artist" information that corresponds with the "Title" data that was search
# Search_Title.Artist#

I hope this helps others with the same problem I had

Attachments search.jpg 74.72KB
Walyer
Light Poster
28 posts since Apr 2005
Reputation Points: 10
Solved Threads: 1
 

Also if you wanted to combine both fields to one search you can do statements within the query to check for values other than blank.

You can then give searches based on Artist and Title, to give more accurate results.

Torch7
Newbie Poster
15 posts since Jun 2005
Reputation Points: 10
Solved Threads: 1
 

Thanks Torch7 for the added info.

Do you think you could show the coding for the statement you talked about?

If you could that would be great for the ones that are new to Coldfusion, I'm one of them :D

Walyer
Light Poster
28 posts since Apr 2005
Reputation Points: 10
Solved Threads: 1
 

Thanks Torch7 for the added info.

Do you think you could show the coding for the statement you talked about?

If you could that would be great for the ones that are new to Coldfusion, I'm one of them :D

Sure:

Using the CFIF statements to check against parameters that are defined in the form, and create a Where statement based upon present Parameters.

In ColdFusion there is no need to give a parameter a value, and it can remain blank; which will work to our advantage on this example. So I would remove the 1's from the default values.

WE CAN NOW Combine the searches Into One Query.


SELECT *
FROM MusicList
WHERE 0 = 0

AND Artist LIKE '%#Form.Artist#%'

AND Title LIKE '%#Form.Title#%'

Now the Query will search for whatever field is present in the form, and even search for Artist and Title if they are both present...

This could be to your advantage if you have two tracks with the same title, but different artists.

Also... I would get intot the habit of writing my SQL a little differently, because it can get confusing, when the Queries get more complicated.

1.) I would use the tableName.fieldName method to define everything in my query... This cuts down on confusion when you have to select from multiple tables.

IE: SELECT table1.artist, table2.artist, table2.song
FROM table1, table2
WHERE 0 = 0
AND table1.artist = table2.artist;

This is still a pretty simple SQL statement but you see how things could get confusing once you start getting into Inner and Outer joins.

2.) I would define an Application Scope variable for the Datasource Name

IE:
IF you ever begin to write more complicated applications, and the Database name needs to change you change it in one place. The application.cfm

3.) I would get in the habit of using tag around all variables passed to a query for a couple of reasons.
1.) its more secure
2.) it speeds up your query.

IE: WHERE Title LIKE

I hope my suggestions weren't too weighty...but chime in and I will explain further.

Torch7
Newbie Poster
15 posts since Jun 2005
Reputation Points: 10
Solved Threads: 1
 

This question has already been solved

Post: Markdown Syntax: Formatting Help
You