使用 cfquery 和数组格式化 table

Formatting a table using cfquery and an array

我编写了以下查询,其功能完全符合我的计划:

<cfquery name="myquery" datasource="abc">
SELECT DISTINCT Right((Format([vDatum],"yyyy")),2) AS DDate
FROM tVCal RIGHT JOIN tVEvents ON tVCal.VItem = tVEvents.EvDate
</cfquery>

每次查询运行,都会输出1940年到2039年之间对应年份的一系列两位数年份数字,数据库中有这些数据,例如: 00,04,15,28,42,56,58,75,89

然后我有一个从 (19)40 到 (20)39 的所有年份数字的不变列表,以表格形式排列,第一个十年如下所示:

<tr><td>40</td><td>41</td><td>42</td><td>43</td><td>44</td><td>45</td><td>46</td><td>47</td><td>48</td><td>49</td>       
</tr>

每次显示 table 并且文档准备就绪时,我需要一个 CF 或 jQuery 函数,它将所有年份数字格式化为红色,这些数字也包含在输出中原始查询。

十年前我可能会自己写这个,但今年我将 80 岁,每当我尝试新事物时,我的头都会游泳。如果我来错了地方,我将不胜感激,如果能提示我该去哪里。 弗兰克

您可以尝试这样的操作:

<cfoutput>
<table>
<tr>
<cfloop list = "#YourListOfNumbers#" index = "number">
<cfset ThisColour = ListFind(ValueList(myquery,DDate), number) ? "red" : "black">
    
<td style = "Color:#ThisColour#">#number#</td>
    
</cfloop>
</tr>
</table>
</cfoutput>

您需要做一些额外的工作才能获得不止一行,但这不是问题的一部分。

此处提供了此逻辑的示例 ==> https://trycf.com/gist/dcedc5c1264a4ce18a91ce496a8c0405/lucee5?theme=monokai