Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/09/2009, 09:59
ebola
 
Fecha de Ingreso: septiembre-2009
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Operacion dificil con arrays.

Hola compañeros.
A mi php se me queda algo grande, pero en mi ayuda a unos amigos con una pagina en la que participo me surge el siguiente dilema.

Os explico todo el problema porque a lo mejor el planteamiento que realizo esta mal.

Corremos en una competicion dividida en GPs y a su vez cada GP tiene mangas.

Los pilotos organizados por equipos.

A la hora de ver los resultados por equipos antes sumabamos todos los puntos y listo. Pero ahora queremos que solo puntuen un numero determinado de pilotos que en cada competicion sera diferente.

Los puntos de los pilotos constan de dos partes unos fijos en funcion a la posicion obtenida y otro variable que se asocia en la base de datos.

Con todo esto, consigo sacar con print_r un array que podeis ver en el adjunto.

os coloco aqui el comienzo para explicar lo que es cada cosa:

Array
(
[1] => Array -> ID del GP
(
[3] => Array -> ID del equipo
(
[DedoLento] => Array -> PILOTO
(
[idalias] => 1 -> ID del GP
[team] => 3 -> ID del equipo
[usuario] => DedoLento -> PILOTO
[id] => 29 -> ID PILOTO
[puntos] => 134 -> PUNTOS TOTALES EN EL GP
[punto] => (1/47)(2/44)(3/0)(4/43) -> PUNTOS TOTALES EN CADA MANGA
[alias] => FE1 -> Nombre del circuito
[kk] => 2 -> NUMERO MAXIMO DE PILOTOS QUE PUNTUAN (se que no deberia estar en cada registro, pero me fue mas comodo.)
[teamalias] => DRT -> Nombre del equipo, corto
[teamname] => Demanu Racing Team -> Nombre del equipo
)

[Marjilo] => Array
(
[idalias] => 1
[team] => 3
[usuario] => Marjilo
[id] => 5
[puntos] => 41
[punto] => (1/0)(2/0)(3/41)(4/0)
[alias] => FE1
[kk] => 2
[teamalias] => DRT
[teamname] => Demanu Racing Team
)

)

[4] => Array
(
[mitsumeku] => Array
(
[idalias] => 1
[team] => 4
[usuario] => mitsumeku
[id] => 6
[puntos] => 217
[punto] => (1/58)(2/54)(3/49)(4/56)
[alias] => FE1
[kk] => 2
[teamalias] => RCT
[teamname] => RC TEAM
)


La pregunta del millon, con un array asi puedo sumar los puntos de los (en este caso) dos ([kk] => 2) pilotos con mas puntos y luego mostrar una tabla con todos los resultados destacando (con el fondo de la celda o algo asi) los pilotos que puntuan en ese GP para el equipo y en orden de puntos por equipo?

Es dificil, por lo menos para mi, y si parto de un array malo o lo puedo hacer mejor estoy abierto a sugerencias.

PD. hago el array y no filtro directamente en la sql, porque los puntos por posicion no estan en esa tabla, se le suman aparte al piloto. de ahi que genero el array, para saber los puntos de cada piloto en cada GP.

Gracias a todos por vuestra ayuda.


Adjuntos- >
planetainformatico.es/gplfs/arrayGP.txt => ARRAY COMPLETO
rtn.planetainformatico.es/index.php?view=teamranking&p=1&option=com_tracks => Pagina donde estan los resultados ahora mismo, para que os hagais una idea. Ahora suma todos los puntos de todos los pilotos por equipo.