Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.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
Sql 筛选查询结果_Sql_Coldfusion_Distinct_Cfquery - Fatal编程技术网

Sql 筛选查询结果

Sql 筛选查询结果,sql,coldfusion,distinct,cfquery,Sql,Coldfusion,Distinct,Cfquery,我正在编辑已经存在的代码,这就是为什么这个问题是这样形成的。我试图使用一个已经存在的查询,并且不通过url添加更多表单变量 所以我的问题是:我有一个正在运行的查询,这个查询用于填充页面上的两个下拉列表。一个列表是运行状态,另一个是实际运行地点。在页面的开头,我希望下拉列表只显示与查询不同的结果,当前它显示120+'AL'80+'MN'等。此外,我希望第二次下拉列表只显示具有特定状态作为其状态的结果 我知道我可以通过添加更多的查询和一个表单变量来做到这一点,但我想知道是否有一种方法可以只在cfqu

我正在编辑已经存在的代码,这就是为什么这个问题是这样形成的。我试图使用一个已经存在的查询,并且不通过url添加更多表单变量

所以我的问题是:我有一个正在运行的查询,这个查询用于填充页面上的两个下拉列表。一个列表是运行状态,另一个是实际运行地点。在页面的开头,我希望下拉列表只显示与查询不同的结果,当前它显示120+'AL'80+'MN'等。此外,我希望第二次下拉列表只显示具有特定状态作为其状态的结果


我知道我可以通过添加更多的查询和一个表单变量来做到这一点,但我想知道是否有一种方法可以只在cfquery中过滤结果。

下面是我要做的。仅首先显示状态下拉列表

使用一些示例代码会更容易,但下面是一个示例。我还没试过,但应该是个不错的开始。永远不记得如何将“选择”设置回“无选择”

第一个下拉列表

<cfoutput group= "state">
<option value= "#state#">#state#</option>
</cfoutput>

这是我要做的。仅首先显示状态下拉列表

使用一些示例代码会更容易,但下面是一个示例。我还没试过,但应该是个不错的开始。永远不记得如何将“选择”设置回“无选择”

第一个下拉列表

<cfoutput group= "state">
<option value= "#state#">#state#</option>
</cfoutput>

+1在第一个下拉列表的另一个答案上-只需对输出进行分组(确保查询顺序正确)


对于第二个下拉列表-使用cfselect并查看bind属性-您可以将其“绑定”到第一个下拉列表。

+1在第一个下拉列表的另一个答案上-只需对输出进行分组(确保查询顺序正确)


对于第二个下拉列表-使用cfselect并查看bind属性-您可以将其“绑定”到第一个下拉列表。

这取决于您的特定数据库设计。。。(这里的MySQL示例…)但是,完全假设您有一个字段将作为PK来定义站点位置,例如ZipCode(我在这里使用…),您可以简单地将cfquery转储到一个数组中,然后通过该数组进行循环以获得结果

    <cffunction name="getDistinct" access="public" returntype="array" hint="Displays a Single Entry based on the ZipCode for this demo ...">

         <cfargument name="ZipCode" required="true" type="string" />

            <cfset var q = "">  
             <cfset var result = arrayNew(2)>
            <cfset i=0> 

            <cfquery name="q" datasource="#variables.dsn#" username="#variables.username#" password="#variables.password#">
                SELECT DISTINCT Site, SiteName, State, ZipCode
                FROM `THETABLE`
                WHERE ZipCode = <cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.ZipCode#" maxlength="10">
                ORDER BY Site ASC
            </cfquery>

                <cfloop index="i" from="1" to="#q.RecordCount#">
                <cfset result[i][1] = q.ZipCode[i]>
                <cfset result[i][2] = q.Site[i]>
            </cfloop>  

            <cfreturn >
    </cffunction>

选择不同的站点、站点名称、状态和ZipCode
从`表`
其中ZipCode=
按站点ASC订购

这取决于您的特定数据库设计。。。(这里的MySQL示例…)但是,完全假设您有一个字段将作为PK来定义站点位置,例如ZipCode(我在这里使用…),您可以简单地将cfquery转储到一个数组中,然后通过该数组进行循环以获得结果

    <cffunction name="getDistinct" access="public" returntype="array" hint="Displays a Single Entry based on the ZipCode for this demo ...">

         <cfargument name="ZipCode" required="true" type="string" />

            <cfset var q = "">  
             <cfset var result = arrayNew(2)>
            <cfset i=0> 

            <cfquery name="q" datasource="#variables.dsn#" username="#variables.username#" password="#variables.password#">
                SELECT DISTINCT Site, SiteName, State, ZipCode
                FROM `THETABLE`
                WHERE ZipCode = <cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.ZipCode#" maxlength="10">
                ORDER BY Site ASC
            </cfquery>

                <cfloop index="i" from="1" to="#q.RecordCount#">
                <cfset result[i][1] = q.ZipCode[i]>
                <cfset result[i][2] = q.Site[i]>
            </cfloop>  

            <cfreturn >
    </cffunction>

选择不同的站点、站点名称、状态和ZipCode
从`表`
其中ZipCode=
按站点ASC订购

您调查过ColdFusion查询的查询吗?我还没有听说过它们,我现在就调查它们。您调查过ColdFusion查询的查询吗?我还没有听说过它们,我现在将对它们进行调查。我不能100%确定javascript的功能,因为我还是新手。然而,在您关于只显示状态下拉列表的说明中,这就是我正在做的。目前,我正在使用一个表单变量,该变量仅用于转换到第二个下拉列表。我想知道如果下拉列表中选择了一个项目,那么签入coldfusion有多么简单。这样一来,由于state下拉列表已经键入了一个表单变量,我可以检查该列表,看看所选值是否为空,然后以这种方式显示。我不能100%确定javascript的功能,因为我对它还是新手。然而,在您关于只显示状态下拉列表的说明中,这就是我正在做的。目前,我正在使用一个表单变量,该变量仅用于转换到第二个下拉列表。我想知道如果下拉列表中选择了一个项目,那么签入coldfusion有多么简单。这样,因为state下拉列表已经键入了一个表单变量,所以我可以检查该列表以查看所选值是否为空,然后以这种方式显示它。