jquery - Coldfusion Dropdown Query -
this question has answer here:
so need query based on selected user. dropdown menu school, eid , principal , books listed options.when "school" selected or clicked query on sql-server database , throw in drop down list user select values of school. english not great mean
dropdown -> if school chosen - > kogod, sis, humane studies, whartons school of business etc. (from database) populate. -> if wharton's clicked show table.so cascading dropdown based of off chosen..
so how do it? code please give me code. thanks
<cfform method="post" action=""> <select name="one" required="yes" onchange="this.form.submit()"> <option>select type</option> <option value="school">school</option> <option value="eid">electronic id</option> <option value="prinical">principal's name</option> <option value="books">books used</option> </select> </cfform> <cfquery name="schoollist" datasource="xxyyzz" dbtype="odbc"> select school_title, databasename order school_title </cfquery> <cfif one.school "selected?" first dropdown drown down pop list of schools > help... please
i wrote quick solution should able expand out several levels deep enough. handles first layer select value first drop down , shows next can apply same concept multiple times.
<cfif structkeyexists(form, "one") , form.one neq ""> <cfswitch expression="#form.one#"> <cfcase value="school"> <cfquery name="schoollist" datasource="xxyyzz" dbtype="odbc"> select school_title, databasename order school_title </cfquery> <select name="schoollist" required="yes" onchange="this.form.submit()"> <cfoutput query="schoollist"> <option value="#schoollist.school_title#">#schoollist.school_title#</option> </cfoutput> </select> </cfcase> <cfcase value="eid"> <cfquery name="eidlist" datasource="xxyyzz" dbtype="odbc"> select eid, databasename order eid </cfquery> <select name="eidlist" required="yes" onchange="this.form.submit()"> <cfoutput query="eidlist"> <option value="#eidlist.eid#">#eidlist.eid#</option> </cfoutput> </select> </cfcase> <cfcase value="principle"> <cfquery name="principle" datasource="xxyyzz" dbtype="odbc"> select principle, databasename order principle </cfquery> <select name="principlelist" required="yes" onchange="this.form.submit()"> <cfoutput query="principle"> <option value="#principle.principle#">#principle.principle#</option> </cfoutput> </select> </cfcase> <cfcase value="books"> <cfquery name="books" datasource="xxyyzz" dbtype="odbc"> select books, databasename order books </cfquery> <select name="books" required="yes" onchange="this.form.submit()"> <cfoutput query="books"> <option value="#books.books#">#books.books#</option> </cfoutput> </select> </cfcase> </cfswitch> <cfelse> <cfform method="post" action="#cgi.script_name#"> <select name="one" required="yes" onchange="this.form.submit()"> <option>select type</option> <option value="school">school</option> <option value="eid">electronic id</option> <option value="prinical">principal's name</option> <option value="books">books used</option> </select> </cfform> </cfif> you might able simplify code doing don't have ability test @ moment might have play around work:
<cfif structkeyexists(form, "dropdown") , form.dropdown neq ""> <!--- prevent sql injection, serves convert text in database valid table , column names next query---> <cfset sanitizedstring = rereplacenocase(form.dropdown,'[^a-z_]','','all')> <!--- data drop down based on user selection ---> <cfif structkeyexists(form, "roottype")> <cfset tablename = rereplacenocase(form.roottype,'[^a-z_]','','all')> <cfquery name="getinfo" datasource="mysql"> select * #tablename# #tablename# = <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.dropdown#"> </cfquery> <cfif getinfo.recordcount gt 0> <cfdump var="#getinfo#"> <cfelse> no records found. </cfif> <cfelse> <cfquery name="getdropdowndata" datasource="mysql"> select #sanitizedstring# #sanitizedstring# order <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.dropdown#"> </cfquery> <cfform method="post" action="#cgi.script_name#"> <input type="hidden" name="roottype" value="<cfoutput>#form.dropdown#</cfoutput>"> <select name="dropdown" required="yes" onchange="this.form.submit()"> <option value="">select value</option> <cfoutput query="getdropdowndata"> <cfset val = getdropdowndata["#sanitizedstring#"]> <option value='#val#'>#val#</option> </cfoutput> </select> </cfform> </cfif> <!--- redisplay form ---> <cfelse> <cfform method="post" action="#cgi.script_name#"> <select name="dropdown" required="yes" onchange="this.form.submit()"> <option>select type</option> <option value="school">school</option> <option value="eid">electronic id</option> <option value="principal">principal's name</option> <option value="books">books used</option> </select> </cfform> </cfif>
Comments
Post a Comment