At 08:51 AM 4/7/2006, Brad Bonkoski wrote:
I have a form for user interaction and part of it is a select box
with a large number of options from a database ~12K options.
Currently I have a function which queries the DB to get fresh data
and loads the HTML (<option value=X>Y</option>) into a string, so
the DB is only hit once,
but the page still takes a while to load.
Anyone else have any experience with something like this, or any
other helpful suggestions for making the page load time a little
less cumbersome?
Brad,
If the data and the application permit, you can split the list into a
series of nested lists and let the user drill down to the desired
item. (If it's a multiple-selection menu, this could get
tricky.) If the user can select from one or more category menus to
get to the finest granularity of detail, they will have multiple
steps to perform but the wait-time on each step will be far less than
downloading a 12,000-option list, and therefore the user's perception
of wait-time will be less.
There are serious usability issues with very long lists -- for
example, the scrollbar button on the list control can become so small
that it's difficult to grab, and paging down a few hundred times
isn't fun. You can help ameliorate this by ordering the options
alphabetically so the user can at least jump to the desired initial
letter. Even so, 12,000 / 26 is still 461, a huge number of options
to have to scroll through.
Here's one example of a drill-down in which all the category menus
remain on the screen:
http://www.dandemutande.org/ResourceGuide/
Paul
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php