I'm looking for a bit of help with a situation that repeatedly comes up. If no one here has the perfect solution, I'd appreciate if someone can at least point me in the direction of a good starting point.
I'm primarily a designer/developer; not a programmer. I've worked with databases in the sense of using blogs, forums, carts etc that use them but I have little to no experience creating dbs from scratch, working with them, editing tables and so on. (Please bear with me if I don't use the most appropriate terminolgy.)
I sometimes find and reconfigure existing applications to do something similar to what they were actually intended. Most of those I find, whether they're a content management system, a shopping cart, auction, classifieds or whatever, may have multiple fields or offer the ability to create additional fields but, more often than not, only certain fields are searchable or a search can be done using only one field at a time.
I want something that can perform a search based on multiple fields.
As one an example, if one was setting up a music sales database using the following categories (in no particular order)
Recording by format: LP, Tape, CD, DVD, etc.
Band/Artist: Name
Era: 1950's, 1960's, 1970's, 1980's, 1990's, 2000's ... etc.
Type of music: Blues, Bluegrass, Classical, Dance, Folk, International, Rock.. etc.
State: OH, PA, NM, RI, etc.
Price: $xx.xx USD
I would want the ability to find, not only, "Classical recordings", OR "tapes", OR "everything in Massachusetts" ..
but to do a more specific search to find, for example, all "Punk Rock LPs from 1981 by bands starting with the letter S, in Ohio for under $6.00".
Perhaps the most well known example might be Ebay's advanced search that can allow you to, in combination, search by keyword, the item category, price range, location, etc. Obviously, it's possible but Ebay has access to resources I do not.
The questions are:
- Can already existing applications be modified to allow this?
- Is there some sort of "general multi-purpose database application" available for use?
...or can this only be accomplished if created from scratch by one who has a full understanding of php and MySql, etc. ?
Thanks in advance for all your wonderful, informative and enlightening responses!