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

    script gestione classifica squadra di calcio

    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]|*/?>");

  2. #2
    Ok, cambio la domanda. Dove sbaglio? Non mi aggiorna i file di testo...

    codice HTML:
    // Apertura file delle squadre
    $s1 = @file_get_contents("public/tornei/campionato/$torn/squadre/$file[1].php");
    $s2 = @file_get_contents("public/tornei/campionato/$torn/squadre/$file[2].php"); 
       
    $stat1 = @explode("|", $s1);
    $stat2 = @explode("|", $s2);    
    $punt1 = $stat1[1];    $gioc1 = $stat1[2]; $vint1 = $stat1[3]; $pari1 = $stat1[4]; $pers1 = $stat1[5]; $gfat1 = $stat1[6]; $gsub1 = $stat1[7]; $diff1 = $stat1[8];
    
    $punt2 = $stat2[1];    $gioc2 = $stat2[2]; $vint2 = $stat2[3]; $pari2 = $stat2[4]; $pers2 = $stat2[5]; $gfat2 = $stat2[6]; $gsub2 = $stat2[7]; $diff2 = $stat2[8];
    
    $gfat1 = $file[3];
    $gfat2 = $file[4];
    // Goal fatti e subiti
    $stat1[6] = $gfat1;
    $stat1[7] = $gfat2;
    $stat2[6] = $gfat2;
    $stat2[7] = $gfat1;                        
    
    // Vittoria squadra 1
    if( $gfat1 > $gfat2 ) {    
    $punt1 = $punt1+3; //punti    
    $gioc1 = $gioc1+1; $vint1 = $vint1+1; //giocate-vinte    
    $punt2 = $punt2+0; //punti    
    $gioc2 = $gioc2+1; $pers2 = $pers2+1; //giocate-perse    
    }
    
    // Vittoria squadra 2
    if( $gfat2 > $gfat1 ) {    
    $punt1 = $punt1+0; //punti    
    $gioc1 = $gioc1+1; $pers1 = $pers1+1; //giocate-perse    
    $punt2 = $punt2+3; //punti    
    $gioc2 = $gioc2+1; $vint2 = $vint2+1; //giocate-vinte    
    }
    
    // Pareggio
    if( $gfat1 = $gfat2 ) {    
    $punt1 = $punt1+1; //punti    
    $gioc1 = $gioc1+1; $pari1 = $pari1+1; //giocate-pari    
    $punt2 = $punt2+1; //punti    
    $gioc2 = $gioc2+1; $pari2 = $pari2+1; //giocate-pari    
    }
    
    // Differenza reti$diff1 = $gfat1-$gsub1;$diff2 = $gfat2-$gsub2;
    
    // Scrittura risultati e statistiche sui file delle squadre@file_put_contents("public/tornei/campionato/$camp/squadre/$file[1].php", "<?php/*|$punt1|$gioc1|$vint1|$pari1|$pers1|$gfat1|$gsub1|$diff1|*/?>");@file_put_contents("public/tornei/campionato/$camp/squadre/$file[1].php", "<?php/*|$punt2|$gioc2|$vint2|$pari2|$pers2|$gfat2|$gsub2|$diff2|*/?>");
    Ultima modifica di Luca Crippa; 01-01-2014 a 15:13

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da Luca Crippa Visualizza il messaggio
    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.

    E' possibile? Avete idee migliori?
    Grazie!!
    Scusa ma se non spendono qualche decina di euro per un database significa che il sito non gli interessa, e tu stai ad impazzire per farlo testuale liberissimo ma la ritengo una stupidaggine.
    Dopo la premessa, non saprei perché non va bisognerebbe conoscere meglio il progetto per capire se ci sono conflitti, valuta se XML può aiutarti
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Quote Originariamente inviata da Luca Crippa Visualizza il messaggio
    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]|*/?>");

    una cosa abominevole. almeno usa un foglio excel
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    In realtà ho risolto, ho snellito il codice e ora va a meraviglia, può farmi tornei e campionati con infinite squadre e mi gestisce classifica, statistiche, giornate ecc...

  6. #6
    In effetti è vero. Per risolvere la questione bastava guardare attentamente il codice per capire che logicamente c'erano scritte delle cose che non stavano ne in cielo ne in terra! Spendici 5 min e capisci :P
    Ciao

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.