
Originariamente inviata da
Luca Crippa
Salve a tutti!
Sto costruendo un sito per una squadra di calcio dilettantistica, e visto che non mi pagano il database (e non mi pagano in generale, ma vabbè) lo sto facendo a mano con gestione di file di testo. Ho il seguente problema:
Sulla pagina del calendario del campionato ho la lettura di tutti i file che mi servono. Essi sono:
squadra1.php -> che contiene i punti, giocate, vinte, perse, pareggiate, goal fatti, subiti e differenza reti.
squadraN.php ecc... per tutte le squadre. Il nome del file contiene il nome della squadra.
partita1.php -> contiene i nomi delle squadre, il risultato e le convocazioni/marcatori se c'è anche la squadra del sito. il nome del file contiene le date e i nomi delle squadre sfidanti.
ecc... per tutte le partite.
La pagina calendario mi apre tutti questi file e va a scrivere le partite, le date e i risultati, se sono dei numeri (cioè se ho inserito effettivamente il risultato finale, altrimenti mi scrive -:-). Con questa pagina io vorrei fare i calcoli delle statistiche, vittorie, punti ecc... e scriverle all'interno dei file delle singole squadre, che andranno poi aperti e letti dalla pagina classifica.
Il problema è questo: ogni volta che apro la pagina campionato, essa mi continua a fare i conti e quindi continuamente mi aggiorna le statistiche delle squadre, inserendo numeri fasulli quindi.
Vorrei fare in modo che questo script di calcolo, che vi allego, agisse solo una volta per ogni file partita, cioè solo all'inserimento di un risultato nuovo per ogni partita (che non è nient'altro che un edit del file partita, che mi trasforma il risultato da -:- a 1:2, ecc a seconda).
E' possibile? Avete idee migliori?
Grazie!!
ps: sono riuscito, tutto sommato, a fare un sito che gestisce tutto! Tornei, campionati, coppe, statistiche giocatori... a parte per questa cosa della classifica...
Ecco lo script che vorrei far girare solo alla modifica di una partita, e non tutte le volte:
codice:
// Calcolo risultati e statistiche
$file[1]; // team 1
$file[3]; // goal team 1
$file[2]; // team 2
$file[4]; // goal team 2
$s1 = @file_get_contents("public/tornei/campionato/$camp/squadre/$file[1].php");
$s2 = @file_get_contents("public/tornei/campionato/$camp/squadre/$file[2].php");
$stat1 = @explode("|", $s1); // statistiche 1
$stat2 = @explode("|", $s2); // statistiche 2
$stat1[1]; $stat1[2]; $stat1[3]; $stat1[4]; $stat1[5]; $stat1[6]; $stat1[7]; $stat1[8];
$stat2[1]; $stat2[2]; $stat2[3]; $stat2[4]; $stat2[5]; $stat2[6]; $stat2[7]; $stat2[8];
// Aggiunta delle statistiche alla squadra 1
$stat1[6] = $stat1[6]+$file[3]; // gf1
$stat1[7] = $stat1[7]+$file[4]; // gs1
$stat1[8] = $stat1[8]+($file[3]-$file[4]); // diff1
// Aggiunta delle statistiche alla squadra 2
$stat2[6] = $stat2[6]+$file[4]; // gf2
$stat2[7] = $stat2[7]+$file[3]; // gs2
$stat2[8] = $stat2[8]+($file[4]-$file[3]); // diff2
// Calcolo punti e vittorie
// vittoria squadra1
if ( $file[3] > $file[4] ) {
$stat1[1] = $stat1[1]+3; //punti
$stat1[2] = $stat1[2]+1; $stat1[3] = $stat1[3]+1; //giocate-vinte
$stat2[1] = $stat2[1]; //punti
$stat2[2] = $stat2[2]+1; $stat2[5] = $stat2[5]+1; //giocate-perse
}
// vittoria squadra 2
if ( $file[4] > $file[3] ) {
$stat2[1] = $stat2[1]+3; //punti
$stat2[2] = $stat2[2]+1; $stat2[3] = $stat2[3]+1; //giocate-vinte
$stat1[1] = $stat1[1]; //punti
$stat1[2] = $stat1[2]+1; $stat1[5] = $stat1[5]+1; //giocate-perse
}
// pareggio
if ( $file[4] = $file[3] ) {
$stat2[1] = $stat2[1]+1; //punti
$stat2[2] = $stat2[2]+1; $stat2[4] = $stat2[4]+1; //giocate-pareggiate
$stat1[1] = $stat1[1]+1; //punti
$stat1[2] = $stat1[2]+1; $stat1[4] = $stat1[4]+1; //giocate-pareggiate
}
// Scrittura risultati e statistiche sui file delle squadre
@file_put_contents("public/tornei/campionato/$camp/squadre/$file[1].php", "<?php/*|$stat1[1]|$stat1[2]|$stat1[3]|$stat1[4]|$stat1[5]|$stat1[6]|$stat1[7]|$stat1[8]|*/?>");
@file_put_contents("public/tornei/campionato/$camp/squadre/$file[2].php", "<?php/*|$stat2[1]|$stat2[2]|$stat2[3]|$stat2[4]|$stat2[5]|$stat2[6]|$stat2[7]|$stat2[8]|*/?>");