This is exactly what I've been doing at work for the last six months or so. Granted, it's not perl related (what I do, I mean), but I had to go over the exact same interface questions that you are going through here.
The first thing that I think you should ask yourself is "Who is going to be using this 'Advanced Search'?" I would say go ahead and allow the user to write their own queries if:
- They will know SQL and understand what they're doing
- They will be able to read a paragraph or so of instructions that describe how to use the query grammar you will provide to them
This leaves out most of the web using public, so if that is your intended audience I think you're best off using standard UI widgets that they will have seen before and are comfortable with.
I've had good success with the method you are currently using. It's intuitive enough for most users to comprehend without any instructions and it converts very easily into SQL statements when you need to parse the form.
I think the most important thing here is to get feedback from your users to find out if the Advanced Search capabilities you've offered are getting the job done for them. Maybe just have a small form on your results page that they can check whether or not they found what they were looking for.
~CubicSpline
"No one tosses a Dwarf!"
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.