Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/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
我可以使用getlistat(按字母顺序进行提取吗?(coldfusion)_Coldfusion - Fatal编程技术网

我可以使用getlistat(按字母顺序进行提取吗?(coldfusion)

我可以使用getlistat(按字母顺序进行提取吗?(coldfusion),coldfusion,Coldfusion,我在一个网站上工作,后端开发人员擅离职守。 目前,这行代码正在根据最近添加的内容提取目录中的第一个图像。是否仍要按字母顺序提取第一个图像 <img width="920" height="300" src="data/images/<cfoutput>#ListGetAt(pic, 1)#</cfoutput>" /> 提前感谢,我对CF的了解非常有限。以下是CF代码: <cfquery name="HomePageImage" Datasou

我在一个网站上工作,后端开发人员擅离职守。 目前,这行代码正在根据最近添加的内容提取目录中的第一个图像。是否仍要按字母顺序提取第一个图像

<img width="920" height="300" 
   src="data/images/<cfoutput>#ListGetAt(pic, 1)#</cfoutput>" />
提前感谢,我对CF的了解非常有限。以下是CF代码:

<cfquery name="HomePageImage" Datasource="PioneerPublic">
   SELECT ImageFull FROM HomePageImages WHERE Active = 1
</cfquery>
<cfset pic = "">    
<cfloop index="x" from="1" to="#HomePageImage.Recordcount#">
    <cfset pic = #ListAppend(pic, HomePageImage.ImageFull[x])#>
</cfloop>
使用

您认为您对ColdFusion的了解很薄弱-后端开发人员的知识也需要一些帮助:

一旦你有了一个查询,你就可以直接在ColdFusion中用一个叫做查询的名字来操作它

例如,这里的第二个查询将按字母数字按ASC顺序对第一个查询进行重新排序

<cfquery name="HomePageImage" Datasource="PioneerPublic">
       SELECT ImageFull 
       FROM   HomePageImages 
       WHERE  Active = 1
</cfquery>

<Cfquery dbtype="query" name="HomePageImage">
    SELECT   ImageFull
    FROM     HomePageImage
    ORDER BY ImageFull ASC
</cfquery>


<cfset pic = "">    
<cfloop index="x" from="1" to="#HomePageImage.Recordcount#">
<cfset pic = ListAppend(pic, HomePageImage.ImageFull[x])>
</cfloop>
主要区别在于设置为query的dbtype,而查询中的tablename是原始查询的名称

至于循环,这是徒劳的。ColdFusion有很多方法可以使用比这更精简的列表,包括从查询列生成列表。以下代码片段:

<cfset pic = ValueList(HomePageImage.ImageFull)/>
在单个函数调用中执行与循环相同的操作。ColdFusion和列表非常紧凑:


仅供参考-您也可以按照Henry的建议,简单地使用listSort对原始列表进行排序。我只是想给您一些选项。

在查询中添加一个order by子句。这样,您就不必担心查询或listSort,只需将order by imageFull添加到查询的末尾,您就不需要碰任何其他内容。让DB来处理rting..星展银行擅长这类事情

<cfquery name="HomePageImage" Datasource="PioneerPublic">
   SELECT ImageFull FROM HomePageImages WHERE Active = 1 ORDER BY ImageFull
</cfquery>
此外,无需在查询上循环以创建列表,只需使用

<cfset pic = valueList( homepageImage.imageFull ) />

在ListGetAt函数中,有一个名为pic的参数,它包含一个图像列表。如果您能展示创建该列表的逻辑,那么我们可能可以帮助您。@TusharBhaware是正确的:您希望将生成pic列表的任何查询或代码更改为alpha顺序,而不是日期顺序。很抱歉,我不确定您的确切意思,正如我所说的id我不太熟悉CF或后端开发。你能详细说明一下我是如何做到这一点的吗?检查包含pic变量的代码,并向我们展示该代码周围的4到5行代码。它可能看起来像这样:在查询中添加order by子句。然后你不必担心查询或listSort,只需将order by imageFull添加到你的查询结束了,你不需要再碰其他任何东西。让数据库处理排序..数据库擅长这类事情。该死…我为什么没想到?这看起来很有效,谢谢,我还要做一点testing@Henry他不是那个问这个问题的人question@Atacoman-嘿,确保阅读所有这些评论和帖子-foLK正在努力为您提供快速的CF技能:@Atacoman-嘿,如果您的开发人员真的擅离职守,请联系我。我们可以提供大量资源,我们可以提供帮助!我们喜欢在紧急情况下帮助人们:谢谢-我不想再多提建议:谢谢,这个项目的预算已经达到了极限,我只是在重新设计t的视觉方面他是一个网站。将来可能会有一些东西,你在哪里?阅读我的个人资料-它会告诉你如何联系我。谢谢。
<cfset pic = valueList( homepageImage.imageFull ) />