To read the article online, visit http://www.4GuysFromRolla.com/webtech/tips/t060500-2.shtml

User Tips: Populating a Dropdown from an Application Variable


By Pete D.

There's a lot out there about creating list boxes using a table from a database. But what if the list box rarely changes and you're constantly hitting the database server for a list box that isn't going to change? You could put your dropdown in an include file, but then you couldn't change it to reflect a default selection based on a current value in the database, a user preference, etc.

Instead, put the select list in an application variable. Since application variables are only stored once per application, they don't use more resources as more users use the site. They also don't require a trip to the database everytime the select list is used. And, using the Replace function, you can change the selected value based on a user preference, a current value in a database, etc. I have an intranet database with 17 dropdowns in it. Whenever a user logs on, the dropdowns are all recreated; this keeps them updated even though they probably change once a month. (There's only about 10 people who use the application regularly, so it isn't constantly doing this, and it only takes about .3 seconds anyway.)

First, create the dropdown. I created them all in an include file and then include it in my log in page.

'**Create connetion to the database**
SQLSTR="Select listitem from table_of_possible_items"
Set dropdownlist = connect.execute(SQLSTR)

'This starts the select list
Application("droplist1") = "<select name=""SelectListName"" size=""1"">"

'This loop creates all the options
do until dropdownlist.eof 
    Application("droplist1") = Application("droplist1") & _
         "<option Value="""& dropdownlist("listitem")& """>" & _
            dropdownlist("listitem") & _
         "</option>"
	dropdownlist.movenext
Loop

'This closes the select list
Application("droplist1") = Application("droplist1") & "</select>"

Now just do a response.write application("droplist1") wherever you want the select list in your page! Pretty simple and efficient to boot!

Now, how do you change the default selected item in the list? (Maybe you are editing a database record and want the current value to display as the default value in the form.) Just use the replace function to replace the option with option selected on the appropriate item when you write the list. Use an If statement to include an option that is null if the database field is null. For example:

junk=application("droplist1")

if len(rstData("field1"))<1 then
	junk=replace(junk,"</select>", _
	      "<option selected value="""">Unknown</option></select>")
else
	junk=replace(junk,"<option Value=""" & _
                      rstData("field1") & """>",_
                 "<option selected Value=""" & _
                      rstData("field1") & """>")
end if

response.write junk

For more information on this topic be sure to read the following articles!

Happy Programming!

Return to user tips...


Article Information
Article Title: User Tips: Populating a Dropdown from an Application Variable
Article Author: Pete D.
Article URL: http://www.4GuysFromRolla.com/webtech/tips/t060500-2.shtml


Copyright 2017 QuinStreet Inc. All Rights Reserved.
Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers