<% 'Marcamos esta página para que no se guarde en la cache del equipo Response.CacheControl = "no-cache" Response.AddHeader "Pragma", "no-cache" Response.Expires = -1 'Creamos la conexion con la base de datos. Set dbConn = Server.CreateObject("ADODB.Connection") dbConn.Open bd_web 'Recuperamos el código de la carrera y pid del corredor carrera = Request.QueryString("carrera") if carrera = "" then carrera = 0 end if pid = Request.QueryString("pid") if pid = "" then pid = 0 end if 'Obtenemos los datos de la carrera sqlCarrera = "SELECT * FROM resultados_carreras WHERE codCarrera = " + cstr(carrera) + ";" set rsCarrera = Server.CreateObject("ADODB.Recordset") rsCarrera.Open sqlCarrera, dbConn if not rsCarrera.EOF then 'Obtenemos los datos del corredor sqlCorredor = "SELECT * FROM resultados_corredores WHERE codcarrera = " + cstr(carrera) + " AND pid = " + cstr(pid) set rsCorredor = Server.CreateObject("ADODB.Recordset") rsCorredor.Open sqlCorredor, dbConn %> <%=rsCarrera("NombreCarrera")%>: Resultados/Results
<% if rsCorredor.EOF then 'El identificador del corredor no se encuentra disponible, por lo que mostramos un mensaje de error %> <% else %> <% 'Preparamos la variable que indica el sexo del corredor if rsCorredor("Sexo")="F" then sexoCastellano = "Mujeres" sexoIngles = "Female" else sexoCastellano = "Hombres" sexoIngles = "Male" end if 'Obtenemos el número total de participantes en cada clasificación sqlTotalGeneral = "SELECT max(puestoGeneral) as maximo FROM resultados_corredores WHERE CodCarrera = " + cstr(carrera) + " ;" sqlTotalCategoria = "SELECT max(puestoCategoria) as maximo FROM resultados_corredores WHERE categoria = '" + rsCorredor("Categoria") + "' AND CodCarrera = " + cstr(carrera) + " ;" sqlTotalSexo = "SELECT max(puestoSexo) as maximo FROM resultados_corredores WHERE sexo = '" + rsCorredor("Sexo") + "' AND CodCarrera = " + cstr(carrera) + " ;" sqlTotalCampeonato = "SELECT max(puestoCampeonato) as maximo FROM resultados_corredores WHERE campeonato = 'S' AND Sexo = '" + rsCorredor("Sexo") +"' AND CodCarrera = " + cstr(carrera) + " ;" 'Obtenemos el número de clasificados en la general Set rsTotales = Server.CreateObject("ADODB.RecordSet") rsTotales.Open sqlTotalGeneral, dbConn totalGeneral = rsTotales("maximo") set rsTotales = nothing 'Obtenemos el número de clasificados en la categoría Set rsTotales = Server.CreateObject("ADODB.RecordSet") rsTotales.Open sqlTotalCategoria, dbConn totalCategoria = rsTotales("maximo") set rsTotales = nothing 'Obtenemos el número de clasificados en el sexo Set rsTotales = Server.CreateObject("ADODB.RecordSet") rsTotales.Open sqlTotalSexo, dbConn totalSexo = rsTotales("maximo") set rsTotales = nothing if rsCarrera("Campeonato") then 'Obtenemos el número de clasificados en el campeonato Set rsTotales = Server.CreateObject("ADODB.RecordSet") rsTotales.Open sqlTotalCampeonato, dbConn totalCampeonato = rsTotales("maximo") set rsTotales = nothing end if %> <% end if 'Liberamos la memoria utilizada set rsCorredor = nothing %>

<%=rsCarrera(" width="799" height="106" />

 

NO HAY DATOS DISPONIBLES PARA ESTE CORREDOR
THERE ARE NO DATA AVAILABLE FOR THIS RUNNER

 

DETALLES / DETAILS

 

<%=rsCorredor("Nombre")%> <%=rsCorredor("Apellidos")%>

 

Datos personales/Personal data
<% if rsCorredor("Pais")="ESP" and not isNull(rsCorredor("Autonomia")) and rsCorredor("Autonomia")<>"" then %> <% else %> <% end if %>
Dorsal/Bib
Año Nacimiento/Year of Birth
Categoría/Category
País/Country
Com. Autónoma
<%=rsCorredor("Dorsal")%>
<%=rsCorredor("Nacimiento")%>
<%=rsCorredor("Categoria")%>
<%=rsCorredor("Pais")%> .gif" alt="<%=rsCorredor("Pais")%>" width="40" height="23" border="1" align="absmiddle" />
<%=rsCorredor("Autonomia")%> .gif" alt="<%=rsCorredor("Autonomia")%>" width="38" height="21" border="1" align="absmiddle" />
 
Puestos/Places
<% if rsCarrera("Campeonato") then %> <% end if %> <% if rsCorredor("PuestoGeneral") > 0 then %> <% else %> <% end if if rsCarrera("Campeonato") then if rsCorredor("Campeonato")="S" then %> <% else %> <% end if end if %>
General /Overall
<%=sexoCastellano%>/<%=sexoIngles%>
Categoría/Category
Campeonato de Madrid
<%=rsCorredor("puestoGeneral")%> / <%=totalGeneral%>
<%=rsCorredor("puestoSexo")%> / <%=totalSexo%>
<%=rsCorredor("puestoCategoria")%> / <%=totalCategoria%>
 
 
 
<%=rsCorredor("puestoCampeonato")%> / <%=totalCampeonato%>
No participa
Puntos de Control /Timing Points
<% 'Obtenemos los datos correspondientes a los parciales lineaImpar = true sqlParciales = "SELECT r.CodCarrera, r.CodParcial, r.EtiquetaParcial, r.DistanciaParcial, p.Pid, p.TiempoOficial, p.TiempoReal, p.PuestoSex FROM resultados_configuracioncarreras r, resultados_parciales p WHERE r.CodCarrera = p.CodCarrera AND r.CodParcial = p.CodParcial AND r.CodCarrera = " + cstr(carrera) + " AND p.PID = "+ cstr(pid) + " ORDER BY r.CodParcial ASC" set rsParciales = Server.CreateObject("ADODB.Recordset") rsParciales.Open sqlParciales, dbConn 'Mostramos los resultados en la pantalla do while not rsParciales.EOF 'Establecemos el color de fondo if lineaImpar then %> <% else %> <% end if if rsParciales("CodParcial") = rsCarrera("ParcialMeta") then %> <% else %> <% end if 'Movemos el cursor al registro siguiente rsParciales.moveNext Loop 'Liberamos la memoria utilizada set rsParciales = nothing %>
Control /Timing Point
Oficial/Gross
Neto/Net
Ritmo/Pace
Velocidad media/Average Speed
Posición/Place
<%=rsParciales("EtiquetaParcial")%>
<%=formatMilli(rsParciales("TiempoOficial"))%>
<%=formatMilli(rsParciales("TiempoReal"))%>
<%=formatMilliMedia(rsParciales("TiempoReal")/rsParciales("DistanciaParcial"))%> min/Km
<%=formatoNumero(rsParciales("DistanciaParcial")*3600000/rsParciales("TiempoReal"),2)%> Km/h
<%=rsParciales("PuestoSex")%>
<%=rsParciales("EtiquetaParcial")%>
<%=formatMilli(rsParciales("TiempoOficial"))%>
<%=formatMilli(rsParciales("TiempoReal"))%>
<%=formatMilliMedia(rsParciales("TiempoReal")/rsParciales("DistanciaParcial"))%> min/Km
<%=formatoNumero(rsParciales("DistanciaParcial")*3600000/rsParciales("TiempoReal"),2)%> Km/h
<%=rsParciales("PuestoSex")%>
Intervalos /Intervals
<% 'Obtenemos la cabecera de todos los parciales sqlConfiguracionParciales = "SELECT * FROM resultados_configuracioncarreras WHERE CodCarrera = " + cstr(carrera) + " ORDER BY CodParcial asc" set rsConfiguracionParciales = Server.CreateObject("ADODB.Recordset") rsConfiguracionParciales.Open sqlConfiguracionParciales, dbConn 'Variable que indica el número total de parciales (empieza en 1 porque el primer parcial no se muestra como columna numeroParciales = 1 if not rsConfiguracionParciales.EOF then 'Si hemos recuperado algún parcial, saltamos el primero y comenzamos a mostrar el resto en la pantalla rsConfiguracionParciales.moveNext do while not rsConfiguracionParciales.EOF %> <% numeroParciales = numeroParciales + 1 rsConfiguracionParciales.movenext loop end if 'Liberamos la memoria utilizada set rsConfiguracionParciales = nothing %> <% 'Obtenemos los datos para rellenar la tabla de intervalos sqlIntervalos = "SELECT p1.CodCarrera, p1.PID, p1.CodParcial as Origen, p2.CodParcial as Destino, p2.TiempoReal - p1.TiempoReal as TiempoIntervalo, c1.EtiquetaParcial as EtiquetaOrigen, c2.EtiquetaParcial as EtiquetaDestino, c1.DistanciaParcial as DistanciaOrigen, c2.DistanciaParcial as DistanciaDestino FROM resultados_parciales p1, resultados_parciales p2, resultados_configuracioncarreras c1, resultados_configuracioncarreras c2 WHERE p1.CodCarrera = p2.CodCarrera AND p1.Pid = p2.PID AND p1.CodParcial < p2.CodParcial AND p1.CodCarrera = c1.CodCarrera AND p1.CodParcial = c1.CodParcial AND p2.CodCarrera = c2.CodCarrera AND p2.CodParcial = c2.CodParcial AND p1.Pid = " + cstr(pid) +" AND p1.CodCarrera = " + cstr(carrera) + " ORDER BY p1.CodParcial asc, p2.CodParcial asc" set rsIntervalos = Server.CreateObject("ADODB.Recordset") rsIntervalos.Open sqlIntervalos, dbConn 'Inicializamos la variable que selecciona el color de fondo de la línea lineaImpar = true 'Inicializamos las variables que indican las filas y columnas de la matriz parcialOrigen = 0 parcialDestino = 2 'Pintamos la línea del primer parcial do while not rsIntervalos.EOF if parcialOrigen <> rsIntervalos("Origen") then 'Si hemos cambiado de parcial origen, cambiamos la fila de la matriz if lineaImpar then %> <% else %> <% end if 'Incrementamos el contador que nos indica el parcialOrigen parcialOrigen = rsIntervalos("Origen") end if for i=parcialDestino to rsIntervalos("Destino")-1 'Rellenamos con casillas en blanco los intervalos no calculados if i <=parcialOrigen then %> <% else %> <% end if next 'Rellenamos la casilla con los datos del parcial ritmo = clng(rsIntervalos("TiempoIntervalo")) / (rsIntervalos("DistanciaDestino")-rsIntervalos("DistanciaOrigen")) velocidad = (rsIntervalos("DistanciaDestino")-rsIntervalos("DistanciaOrigen"))*3600000/clng(rsIntervalos("TiempoIntervalo")) %> <% 'Indicamos el nuevo parcialDestino parcialDestino = rsIntervalos("Destino")+1 rsIntervalos.moveNext if not rsIntervalos.EOF then if parcialOrigen <> rsIntervalos("Origen") then 'Si hemos llegado al final de la fila, inicializamos el contador del parcialDestino y cerramos el tag de la fila parcialDestino = 2 %> <% end if end if loop %>
 
<%=rsConfiguracionParciales("EtiquetaParcial")%>
<%=rsIntervalos("EtiquetaOrigen")%>
<%=rsIntervalos("EtiquetaOrigen")%> 
<%=formatMilli(clng(rsIntervalos("TiempoIntervalo")))%>
<%=formatMilliMedia(clng(ritmo))%> min/Km
<%=formatoNumero(velocidad,2)%> Km/h

Patrocinadores y Colaboradores
<% else 'No se ha recuperado ninguna carrera con este código, por lo que se muestra un mensaje de error %> Sistema de resultados de ChampionChip© España: Carrera no disponible

Sistema de Resultados de ChampionChip España

 

LA CARRERA SELECCIONADA NO SE ENCUENTRA DISPONIBLE
<% end if 'Liberamos la memoria utilizada set rsCarrera = nothing set dbConn = nothing %>