Problema in funzione arrayperc()

Avvisi e discussioni su bug, soluzioni e migliorie del software

Moderatori: roby, Moderators

Rispondi
margottid
Newbie
Newbie
Messaggi: 193
Iscritto il: mar mag 12, 2009 12:00 am

Problema in funzione arrayperc()

Messaggio da margottid »

Salve,
ho modificato la funzione arrayperc() (riga 440 del file /client/modules/Elezioni/funzioni.php) da:
if($temp2tot>100)
a
if($temp2tot>100 && ($temp2tot-100)>0.01)

Ho notato che, in una sezione che aveva esattamente 500 voti validi (e quindi con delle percentuali, bene o male, senza arrotondamenti con troppe virgole), la visualizzazione di "Risultati" ==> "Lista per sezioni" mi blocca il server.
Se volete verificare, ho caricato nell'area demo una consultazione, con una sola sezione, riportando pari pari i risultati:
http://www.eleonline.it/moduli/client/m ... ons_gen=57

Andando in "Risultati" ==> "Lista per sezioni", Apache si inchioda (uscendo dopo 120 secondi - ovvero, il tempo massimo di esecuzione di uno script PHP).

La modifica che ho fatto mette un "tampone", probabilmente dovuto alla gestione dei numeri in virgola mobile di PHP.
Nel caso specifico, la variabile $temp2tot è sì superiore a 100, ma di una frazione infinitesimale, e quindi non è necessario procedere ad ulteriori "aggiustamenti" delle percentuali.

Lascio ai programmatori la verifica e l'implementazione di una soluzione più elegante...

Daniele
Rispondi