ventajas tutorial juego español descargar coldfusion

juego - coldfusion tutorial español



CF SQL Creando una tabla con diferentes resultados (1)

Estoy intentando crear una tabla usando coldfusion y sql. La tabla que intento crear se ve así:

<cfquery datasource="#application.dsn#" name="someprocessTable"> SELECT * FROM checklists </cfquery> <table id="Checklist_Stats"> <thead> <th><b>Associate Name</b></th> <th><b>Location</b></th> <th><b>Checklists Generated by Associate</b></th> <th><b>Checklists Generated by Selected Location(s)</b></th> <th><b>Associate Percentage of Location Total</b></th> </thead> <tbody> <cfoutput query="someprocessTable"> <tr> <td>#associate#</td> <td>#location_code#</td> <td>#associate.recordcount#</td> <!---<td>##</td> <td>##</td>---> </tr> </cfoutput> </tbody> </table>

La parte de la que no estoy seguro es cómo doblo toda esta información en una sola tabla. Debido a que no desearía que el nombre de las mismas personas se repitiera en la mesa y luego, ¿cómo se muestra cuántos se generaron debido a que no pude hacer algo como #associate.recordcount#


Parece que hay más de una forma de hacer lo que desea lograr, como hacer una consulta con uniones y grupos y luego volcar en la tabla; administre su salida con un solo CFoutput o utilice CFOutput anidado y / o CFloop. Siguiente muestra el tercer enfoque:

<table border="1" id="Checklist_Stats"> <thead> <th><b>Associate Name</b></th> <th><b>Location</b></th> <th><b>Checklists Generated by Associate</b></th> <th><b>Checklists Generated by Selected Location(s)</b></th> <th><b>Associate Percentage of Location Total</b></th> </thead> <tbody> <cfquery name="allAssociatesQry" dbtype="query"> SELECT DISTINCT associate, COUNT(*) AS associateCount FROM someprocessTable GROUP BY associate ORDER BY associate </cfquery> <cfloop query="allAssociatesQry"> <cfquery name="allLocCodeForAssociateQry" dbtype="query"> SELECT * FROM someprocessTable WHERE associate=''#associate#'' ORDER BY location_code </cfquery> <tr><td><cfoutput>#allLocCodeForAssociateQry.associate#</cfoutput></td> <cfoutput query="allLocCodeForAssociateQry" group="location_code"> <cfset locCntr = 0 /> <cfoutput> <cfset locCntr = locCntr + 1 /> </cfoutput> <cfif allLocCodeForAssociateQry.currentRow NEQ 1> <tr><td>&nbsp;</td> </cfif> <td>#allLocCodeForAssociateQry.location_code#</td> <td>#allAssociatesQry.associateCount#</td> <td>#locCntr#</td> <td>#Round((locCntr/allAssociatesQry.associateCount) * 100)#%</td> </tr> </cfoutput> </cfloop> </tbody> </table>

Tenga en cuenta que CF QoQ distingue entre mayúsculas y minúsculas, por lo que si es necesario, convierta el nombre y la ubicación del asociado en mayúsculas / minúsculas / título antes de la entrega.

Un código ligeramente modificado para CFloop puede ser como a continuación:

<cfloop query="allAssociatesQry"> <cfset thisAssociateName = trim(allAssociatesQry.associate) /> <cfquery name="allLocCodeForAssociateQry" dbtype="query"> SELECT location_code,count(location_code) AS locCntr FROM someprocessTable WHERE associate=''#thisAssociateName#'' GROUP BY location_code ORDER BY location_code </cfquery> <cfoutput query="allLocCodeForAssociateQry"> <tr> <td>#thisAssociateName#</td> <td>#allLocCodeForAssociateQry.location_code#</td> <td>#allAssociatesQry.associateCount#</td> <td>#allLocCodeForAssociateQry.locCntr#</td> <td>#Round((allLocCodeForAssociateQry.locCntr/allAssociatesQry.associateCount) * 100)#%</td> </tr> <cfset thisAssociateName = "" /> </cfoutput> </cfloop>