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

    Calcolare penalità in classifica con date diverse

    Buongiorno a tutti per iniziare....
    premessa:
    ho creato una classifica in cui gli utenti possono inserire delle foto.
    Queste foto possono essere votate ogni ora e mezza grazie a questo so quanti max voti possono ricevere al giorno e quindi alla fine della gara.
    Sui i voti ricevuti/max voti mi calcolo la percentuale che poi mi crea la classifica.
    Vince chi si avvicina o totalizza il 100%.
    Adesso se le foto fossero inserite tutte alla stessa data il problema non sussisterebbe!!!
    Ma dato che le foto possono essere inserite in date diverse, devo capire come penalizzare chi ha meno giorni di voto.
    Es:
    la data inzia il 1 ottobre.
    Tizio il primo ottobre inserisce la sua foto. Ad oggi 13/10 il max dei voti che può ricevere è 192 ne ha ricevuti 58 quindi il 30% circa, ha avuto la costanza in 12 giorni di votare 58 volte.
    Caio inserisce la sua foto il 11/10. Ad oggi 13/10 il max dei voti che può ricevere è 32 voti ne ha ricevuti 8 quindi il 40%.
    Adesso Caio è primo e Tizio secondo.

    Con che criterio penalizzo Caio perchè arrivato per ultimo, cosa che vale anche agli altri utenti che si inseriranno?
    Comunque devo poter permettere a Caio di poter vincere se sarà costante nel voto.
    Spero nei vostri suggerimenti. Ho guardato nel forum ma non ho trovato nulla.
    Grazie a tutti
    Lenny

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select id,nome_utente,data_ins,voti,
    (to_days(CURDATE() ) - to_days(data_ins)) * 16 as votipotenziali, 
    voti / ( (to_days(CURDATE() ) - to_days(data_ins)) * 16) * 100 as percentuale
    from tabella
    order by percentuale desc

  3. #3

    Perfetto ma

    Ok io so i voti ponteziali, come la % su quelle ricevuti in un arco di tempo.
    Il mio problema è penalizzare chi ha inserito al foto in un tempo inferiore ad ha totalizzato una % così alta da farlobalzare nelle prime posizioni, semplicemente perchè ha dedicato un giorno a totalizzare il max score sui voti che poteva ricevere.
    Grazie lenny

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.