Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Gestione classifica con MySQL e PHP

    Buongiorno a tutti,
    questa volta avrei la necessità di ricevere un consiglio su come procedere riguardo ad una problematica che devo affrontare.
    Su un sito devo gestire una classifica di corridori nella somma totale dei punti dovrei eliminare il risultato più basso ogni quattro gare disputate: cerco di spiegarmi meglio.
    Nel corso di questa stagione ci sono state 11 gare e quindi avrei dovuto eliminare dal conteggio finale gli ultimi due risultati più bassi per ogni concorrente (e con una query questo sarebbe fattibile!)
    Ma visto che - come può accadere - non tutti i corridori partecipano a tutte le gare avrei anche la possibilità di avere delle gare in cui il corridore non ha punti (e quindi non toglierei alcun punto ma evidenzierei uno 0 in rosso per evidenziare il valore da non conteggiare).
    Secondo voi questa gestione è fattibile oppure dovrei lasciare stare? Oramai sono settimane che ci picchio la testa tra query di sql e php e non ho ancora trovato la via giusta.

    Grazie in anticipo a chi mi vorrà dare una mano.

  2. #2
    Ciao! non so se sia una cazz..ta ma butto una idea..

    se sai che le gare son 11 e le 2 col risultato più basso vanno scartate fai una query order by xx desc LIMIT 9 poi sommi i risultati..



    Ciao..
    Vacanze in Sardegna?? http://www.albergoviadelmare.it

  3. #3
    Quello è il percorso più facile ma a questo punto dovrei generarmi un db parallelo dove inserisco per ogni corridore (sia che partecipi a quella gara sia no) un punteggio in modo da avere lo stesso numero di record per ogni corridore...
    Non mi viene in mente altro... Purtroppo...
    Ma meno male ho molto tempo prima dell'inizio della prossima stagione per trovare una soluzione adeguata!

  4. #4
    Più che un db paralello un campo.. Poi se non vuoi inserire chi non partecipa gli dai come predefinito il valore 0..
    Ciao!
    Vacanze in Sardegna?? http://www.albergoviadelmare.it

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da cyberclown72
    Quello è il percorso più facile ma a questo punto dovrei generarmi un db parallelo dove inserisco per ogni corridore (sia che partecipi a quella gara sia no) un punteggio in modo da avere lo stesso numero di record per ogni corridore...
    Ma anche no.
    A cosa ti serve?
    Se fai la query che ti ha suggerito, che limita a 9 i risultati, otterrai comunque tutti i risultati che devi sommare, anche se sono meno. Qual è il problema?

  6. #6
    mmm.. se le gare son 11 e le 2 peggiori vanno scartate, fa una query e prende solo i 9 risultati maggiori e in automatico scarta i 2 peggiori.. no?
    Vacanze in Sardegna?? http://www.albergoviadelmare.it

  7. #7
    il problema è legato al fatto che - per esempio - tre concorrenti hanno disputato 11 gare, due 10, sette ne hanno disputato solo 3 e 20 solo 1.
    Ai tre che hanno partecipato a tutte le tappe posso eliminare fisicamente i due peggiori risultati mentre a quelli che hanno disputato 10 dovrei toglierne solo 1 ed agli altri non togliere neanche un punto.
    E' per questo motivo che mi prospettavo di inserire in una tabella a parte i 30/40 corridori ed assegnare ad ognuno di essi un valore e successivamente fare su questa tabella la query limitando a multipli di 4 (visto che si toglie il peggior risultato ogni quatto gare ma su quelle disputate in tutta la stagione).
    Oppure mi calcolo a quante gare ogni concorrente ha partecipato e tramite PHP modifico la query tramite il LIMIT.

  8. #8
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Non ti serve a niente modificare la query. Se usi il LIMIT 9 per tutti, a chi ha 11 gare usciranno le migliori 9, a chi ne ha 10 pure, a chi ne ha 3 usciranno tutte e 3, a chi ne ha 1 uscirà quella. Qual è il problema? (e due....)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.