HexDEF6
13-03-2006, 18:08
Ho un databse mysql, che ho infarcito di dati...
nel databes ho una tabella (tempi) con i seguesnti campi:
record_id (autoincrementante) track (nome del tracciato) user (nome dell'utente) record_time (il tempo fatto) record_date (e quando e' stato fatto)
in questa tabella vengono inseriti tutti i tempi di tutti gli utenti su tutte le piste...
quello che vorrei fare adesso e' tirar fuori il tempo migliore di ogni utente per una certa pista... siccome sono alle prime armi (ho iniziato a vedere un paio di ore fa l'sql!), quello che sono riuscito a fare e':
SELECT `track` , `user` , `record_date` , MIN( `record_time` )
FROM `tempi`
WHERE `track` = "nometracciato"
GROUP BY `user`
ORDER BY 'MIN( `record_time` )' ASC
in questa maniera fa quasi quello che mi interessa sbagliando ovviamente record_date visto che mi sputa non quella relativa al MIN( 'record_time') ma la prima che trova nel db relativa all'utente...
Come posso rimediare?
------------------------------------------------------------
Per i curiosi alcune info in piu'
Questa cosa qua servirebbe alla fine per generare una pagina web (in php) dove vengono fatti vedere tutti i tempi di tutti gli utenti che girano sul server di TrackMania Nations che ho messo in piedi...
per ora quello che riesco a fare (con un po di script bash, awk e sed) e' questo:
http://supahlooza.homelinux.org/record
partendo dal file di log del server di Trackmania... ovviamente se riesco a mettere tutto in un db, pian pianino si potrebbe avere una pagina decente con molte piu' informazioni (tipo: tutti i tempi che un tale utente ha fatto su una pista, e non solo il migliore, e magari l'andamento nel tempo dei propri record... o la generazione di una classifica generale in base alla posizione di un utente su ogni pista... insomma cose assolutamente impossibili da fare con un po di script bash...) se qualcuno ha voglia di darmi una mano e' piu' che ben accetto (visto che sono una chiavica con sql e php :D )
Ciao!
nel databes ho una tabella (tempi) con i seguesnti campi:
record_id (autoincrementante) track (nome del tracciato) user (nome dell'utente) record_time (il tempo fatto) record_date (e quando e' stato fatto)
in questa tabella vengono inseriti tutti i tempi di tutti gli utenti su tutte le piste...
quello che vorrei fare adesso e' tirar fuori il tempo migliore di ogni utente per una certa pista... siccome sono alle prime armi (ho iniziato a vedere un paio di ore fa l'sql!), quello che sono riuscito a fare e':
SELECT `track` , `user` , `record_date` , MIN( `record_time` )
FROM `tempi`
WHERE `track` = "nometracciato"
GROUP BY `user`
ORDER BY 'MIN( `record_time` )' ASC
in questa maniera fa quasi quello che mi interessa sbagliando ovviamente record_date visto che mi sputa non quella relativa al MIN( 'record_time') ma la prima che trova nel db relativa all'utente...
Come posso rimediare?
------------------------------------------------------------
Per i curiosi alcune info in piu'
Questa cosa qua servirebbe alla fine per generare una pagina web (in php) dove vengono fatti vedere tutti i tempi di tutti gli utenti che girano sul server di TrackMania Nations che ho messo in piedi...
per ora quello che riesco a fare (con un po di script bash, awk e sed) e' questo:
http://supahlooza.homelinux.org/record
partendo dal file di log del server di Trackmania... ovviamente se riesco a mettere tutto in un db, pian pianino si potrebbe avere una pagina decente con molte piu' informazioni (tipo: tutti i tempi che un tale utente ha fatto su una pista, e non solo il migliore, e magari l'andamento nel tempo dei propri record... o la generazione di una classifica generale in base alla posizione di un utente su ogni pista... insomma cose assolutamente impossibili da fare con un po di script bash...) se qualcuno ha voglia di darmi una mano e' piu' che ben accetto (visto che sono una chiavica con sql e php :D )
Ciao!