正在开发我们的火灾报告系统...
跟踪谁在卡车上...所以卡车 A、卡车 B、卡车 C
我可以得到员工总数 - 但不是每辆卡车......我有点没主意...使用 ColdFusion 8
我知道这个(车辆 ID 号)nvid 的东西不起作用 - 只计算员工总数,而不是单个卡车。 每辆卡车都有一个唯一的ID和附加的员工变量......CFInserts适用于总数,但不适用于每个卡车数量。
关于如何跟踪每辆卡车上员工数量的想法? 谢谢...
<cfset nvid = 0>
<cfloop from="1" to="#st.recordcount#" index="i">
<cfif IsDefined("form.checkbox1_#i#")>
<cfoutput>
<cfset newvid = "vid_"&#variables.i#>
<cfset newloginid = "checkbox1_"&#variables.i#>
<cfset vid = "#Evaluate(variables.newvid)#">
<cfset nvid = nvid + 1>
<cfset loginid = "#Evaluate(variables.newloginid)#">
<br>
NewVid - #newvid# and VID - #vid#
<br>
cfquery name="insert" datasource="fire_report">
INSERT INTO stafflist (id, unitid, loginid)
VALUES (#id#, #vid#, #loginid#);
/cfquery>
<br>
<br>
</cfoutput>
</cfif>
</cfloop>
您可能想看看您的数据模型。 我怀疑在现实生活中,分配给每辆卡车的人会随着时间的推移而改变。 代码示例中没有任何内容表明您已考虑过这一点。
对于您关于计算每辆卡车的人数的具体问题,这样的事情会起作用。
select TruckName, count(*) PeoplePerTruck
from YourTruckTable join stafflist on TruckId = UnitId
group by TruckName
决定在插入后检查数据。它有效,也许这是最简单的方法,除非有人有其他更简单的方法......
基本上 - 如果数字在组检查中没有加起来 - 我将其定位为删除之前插入的数据并强制他们再次执行此操作......
Check Data After Insert???
<cfquery name="tcheck" datasource="fire_report">
select * from stafflist
order by unitid
</cfquery>
<br>
<cfoutput query="tcheck" group=unitid>
<cfset groupCount = 0>
<cfoutput>
#unitid#
<cfset groupCount = groupCount + 1>
</cfoutput>
<br><br>Check vs Original
<br>
<cfquery name="ucheck" datasource="fire_report">
select * from unit
WHERE ID=#id# and unitid = #unitid#
</cfquery>
Original: <cfoutput>#ucheck.unitid# - #ucheck.numff# </cfoutput>
GroupCount = #groupCount#
<br><br><cfif ucheck.numff NEQ groupCount>
Bad<br>
<cflocation url="staff.cfm?id=#id#&src=del">
<cfelse>All Good<br></cfif>
</cfoutput>