Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何通过不指定任何查询的列名为其动态创建下拉菜单_Html_Sql_Drop Down Menu_Coldfusion_Coldfusion 9 - Fatal编程技术网

Html 如何通过不指定任何查询的列名为其动态创建下拉菜单

Html 如何通过不指定任何查询的列名为其动态创建下拉菜单,html,sql,drop-down-menu,coldfusion,coldfusion-9,Html,Sql,Drop Down Menu,Coldfusion,Coldfusion 9,我正在创建一个HTML表单,它需要SQL数据库中查询值的下拉菜单。我不想硬编码表单输入,而是尽可能动态地创建它们,但我注意到,当查询使用下拉菜单时,选项需要指定的列名。这迫使我对每个下拉菜单进行硬编码,因为我需要为每个下拉菜单指定列名。指定列名是有意义的,因为一个查询可以有多个选定的列名,但我用于下拉菜单的每个查询只选择了一个列名 我试图用Coldfusion和HTML来解决这个问题 下面是硬编码下拉菜单 <select name = "REV_WC"> <optio

我正在创建一个HTML表单,它需要SQL数据库中查询值的下拉菜单。我不想硬编码表单输入,而是尽可能动态地创建它们,但我注意到,当查询使用下拉菜单时,选项需要指定的列名。这迫使我对每个下拉菜单进行硬编码,因为我需要为每个下拉菜单指定列名。指定列名是有意义的,因为一个查询可以有多个选定的列名,但我用于下拉菜单的每个查询只选择了一个列名

我试图用Coldfusion和HTML来解决这个问题

下面是硬编码下拉菜单

<select name = "REV_WC">
     <option hidden disabled selected value>  </option>
         <cfoutput query = "#application.REV_WC#">
             <option value = "#REV_WC#"> #REV_WC# </option>
         </cfoutput>
</select>
我想尝试这样做,但不确定正确的语法是什么:

<select name = "Dd_NAME">
    <option hidden disabled selected value>  </option>
        <cfoutput query = "#db_query#">
            <option value = "#db_query.value#"> #db_query.value# </option>
        </cfoutput>
</select>
查询如下所示:

<cfscript>
    application.REV_WC = application.myDB.execute(sql = "SELECT DISTINCT REV_WC FROM MY_TABLE").getResult();
</cfscript>

像这样的事情可能会达到你的目的。从3个列表开始

<cfscript>
tableNames = "t1,t2,t3,etc";
fieldNames = "f1,f2,f3,etc";
queryNames = "q1,q2,q3,etc";
</cfscript>
然后,在列表中循环运行查询并创建选择

<cfloop from = "1" to = "#listlen(tableNames)#" index = "i">
<cfset thisTable = listGetAt(tableNames, i)>
<!--- same for fieldNames and queryNames --->

<cfquery name = "#thisQuery#">
select distinct #thisField# from #thisTable#
</cfquery>

<select name = "#thisTable#_#thisField#">
<cfoutput query = "#thisQuery#">
<option value = "#thisQuery.thisField#">"#thisQuery.thisField#"</option>
</cfselect>
</cfloop>

代码示例尚未经过测试,可能有错误,但它应该显示出总体思路。

类似的内容可能会满足您的需要。从3个列表开始

<cfscript>
tableNames = "t1,t2,t3,etc";
fieldNames = "f1,f2,f3,etc";
queryNames = "q1,q2,q3,etc";
</cfscript>
然后,在列表中循环运行查询并创建选择

<cfloop from = "1" to = "#listlen(tableNames)#" index = "i">
<cfset thisTable = listGetAt(tableNames, i)>
<!--- same for fieldNames and queryNames --->

<cfquery name = "#thisQuery#">
select distinct #thisField# from #thisTable#
</cfquery>

<select name = "#thisTable#_#thisField#">
<cfoutput query = "#thisQuery#">
<option value = "#thisQuery.thisField#">"#thisQuery.thisField#"</option>
</cfselect>
</cfloop>

代码示例未经测试,可能有错误,但它应该显示出总体思路。

在大多数情况下,最好是显式的,但实现所需的方法是使用查询结果中的ColumnList作为数组表示法中的列名

<option value = "#db_query[columnList][currentRow]#"> #db_query[columnList][currentRow]# </option>

在大多数情况下,最好是显式的,但实现所需的方法是使用查询结果中的ColumnList作为数组表示法中的列名

<option value = "#db_query[columnList][currentRow]#"> #db_query[columnList][currentRow]# </option>