Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: creazione classifica

  1. #1

    creazione classifica

    Salve ragazzi!
    Premetto che non sono pratico di php-mysql... quindi mi scuso già sin d'ora se non riesco a farmi capire...

    Sto creando un sito per la mia squadra di calcio e dato che in diverse pagine sarà presente la classifica del campionato, mi piacerebbe creare una tabella "vuota" (nel senso che sarà riempita ogni volta dai dati forniti dal database MySQL). Così facendo evito di aggiornare ogni volta le pagine contenenti la tabella della classifica ma mi basterà aggiornare i dati nel database MySQL... si capisce?

    In pratica quello che vorrei fare è questo:

    1. Ho un database "Classifica" che formato da 3 campi (ID, NomeSquadra, PuntiSquadra);
    2. Ho una tabella nella pagina "esempio.php" formata da 10righe x 3 colonne (dove per ogni riga ci sarà la posizione, il nome della squadra e i punti della squadra).

    Per prima cosa dovrò avere un comando che mi permetta di ordinare la classifica in base ai punti delle squadre

    Poi dovrò avere un comando che mi permette di aggiungere nella tabella della pagina "esempio.php" il nome delle squadre e i punti che hanno in modo ordinato...

    Penso che non sia molto difficile, ma non so bene come fare.. qualcuno mi può aiutare?

    Grazie mille!


    p.s: non so se vi può servire, ma uso Dreamweaver 8 per creare il sito...

  2. #2
    Ciao,

    allora bisogna iniziare creando la tabella nel DB. Fatto questo hai bisogno di connetterti al DB:

    Codice PHP:
    [B]Parametri per la connessione. File conf.php[/B] 
    <?php
    //PARAMETRI DI CONNESSIONE
    $database 'NOME DEL DB';
    $login 'UTENTE';
    $password 'PASSWORD';
    $host 'INDIRIZZO IP DEL SERVER MYSQL';
    $connessione '';
    ?>
    poi ti basta creare una funzione in php per la connessione:

    codice:
    connessione.php .
    
    <?php
    require ("conf.php");
    
    function connetti() {
    	global $host, $login, $password, $database, $connessione;
    	$connessione = mysql_connect( $host, $login, $password );
    	mysql_select_db( $database );
    }
    
    function disconnetti() {
    	global $connessione;
    	mysql_close( $connessione );
    }
    ?>
    Ogni volta che in una pagina devi recuperare dei dati dal DB scrivi
    Codice PHP:
    <?php include ("./PERCORSO_DEL_FILE/conessione.php
    connetti();
    ?>
    Ultimo passo è recuperare i dati dalle tabelle e filtrarli.
    Errare è umano, ma per fare veramente casino ci vuole la password di root

  3. #3
    Grazie mille per la risposta rapidissima!

    ho fatto tutto e in dreamweaver si connette al database, quindi tutto giusto però non riesco a far apparire i dati nella tabella che ho creato nella pagina. Mi dice che devo creare un modulo per inserire il recordset ma non so come impostarlo... quindi:

    ho immesso i dati nel database;
    riesco a connettermi;
    riesco a riordinare la classifica tramite php;

    ma non riesco a dire (per esempio) che nella prima riga (formata da due celle) della tabella deve apparire il nome della squadra che ha più punti con i rispettivi punti, nella seconda riga la seconda squadra e i relativi punti, eccetera eccetera...

    mi sapreste aiutare?

  4. #4
    Spiego meglio il problema attuale con un esempio:
    ho una classifica di 4 squadre inserite in un database che ha i seguenti campi (Id, NomeSquadra, PuntiSquadra)

    Ora la classifica risulta così:

    ID NomeSquadra PuntiSquadra
    3 Squadra-C 23
    1 Squadra-A 19
    4 Squadra-D 17
    2 Squadra-B 11

    In dreamweaver riesco a creare una tabella dinamica che mostra i dati in ordine prendendo quindi in considerazione le variabili NomeSquadra e PuntiSquadra. Ma così facendo ottengo una tabella di 4 righe x 2 colonne, mentre io vorrei una tabella di 4 righe x 3 colonne perché mi piacerebbe inserire nella prima colonna il posizionamento:

    1 Squadra-C 23
    2 Squadra-A 19
    3 Squadra-D 17
    4 Squadra-B 11

    Come posso fare?

  5. #5
    ecco un semplice script per recuperare i dati dalla tabella:

    Codice PHP:
     <?php
    $count1 
    0;
    $res1 mysql_query"SELECT * FROM [NOME_TABELLA] ORDER BY [CAMPO ORDINAMENTO];");
    $number=mysql_num_rows($res1);
    if (
    $number == 0)
    {
    print(
    "Al momento non sono presenti elementi.");
    }
    else{
    print(
    "<table>
                                            
                                            <thead>
                                            
                                            <tr>
                                            <th class='cella_intestazione'>Squdra</th>
                                            <th class='cella_intestazione'>Punti</th>

                                            </tr>
                                            </thead>
                                            <tbody>"
    );
    while ( 
    $riga1 mysql_fetch_array$res1 ) ) {
          print(
    "<tr>");
          print(
    "<td class='cella_corpo_2'>".$riga1["CAMPO DELLA SQUADRA"]."</td>");
        print(
    "<td class='cella_corpo'>".$riga1["CAMPO DEI PUNTI"]."</td>");
          print(
    "</tr>");
                }
    }
    ?>
    Errare è umano, ma per fare veramente casino ci vuole la password di root

  6. #6
    Grazie mille per i tuoi aiuti! ma la mia ignoranza non mi permette di farcela...

    Dato che ho poche info da inserire (solo 10 squadre), non ci sarebbe la possibilità di creare una tabella vuota in dreamweaver e poi ad ogni cella assegnare il dato che deve mostrare?

    Voglio dire: prima con il comando ordino la classifica in funzione dei punti (e fin qui ci sono...), poi vado nella prima cella della tabella vuota e scrivo il codice php per inserire il dato del nome della prima squadra, poi nella cella numero 2 scrivo il codice php per restituire i punti della squadra. Nella seconda riga, nella prima cella mando il codice php per la seconda squadra e nella seconda cella il suo punteggio... e così via... si potrebbe fare così?

  7. #7
    attenzione. Così non ti conviene perchè se la squadra A ha 30 punti ed è prima mentre la squadra B ha 29 punti ed è seconda, se la classifica dovesse cambiare ti tocherebbe cambiare manualmente il file della classifica.
    Errare è umano, ma per fare veramente casino ci vuole la password di root

  8. #8
    è vero... non ci avevo pensato... mi sa che per ora tralascio la prima colonna con il posizionamento... Però ora mi è venuto un altro dubbio:

    Mettiamo che la tabella è composta da 4 campi (Squadra, Gol_Fatti, Gol_Subiti, Punti). Esiste un comando per ordinare in ordine decrescente in funzione dei Punti e nel caso due squadre avessero gli stessi punti di calcolare la diffrenza reti (Gol_Fatti - Gol_Subiti) e ordinare quindi in un secondo livello in funzione della differenza reti? Così a parità di punteggio la squadra che ha la differenza reti più grande è messa davanti...

  9. #9
    il ragionamento di bse è questo:

    Codice PHP:
    $differenza_gol $gol_fatti $gol_subiti //i dati li peschi dal DB

    $res1 mysql_query"SELECT * FROM [TABELLA] ORDER BY [COLONNA_PUNTI] AND '$differenza_gol';"); 
    Errare è umano, ma per fare veramente casino ci vuole la password di root

  10. #10
    mi da errore... faccio qualcosa di sbagliato? fino a quando non ordino in base alla differenza reti mi funziona... quindi deduco che sia un errore di sintassi proveniente dalla differenza reti... dove sbaglio?

    Questo è quello che scrivo:
    Codice PHP:
    mysql_select_db($database_Conn_DB$Conn_DB);
    $GF "SELECT GF FROM Classifica";
    $GS "SELECT GS FROM Classifica";
    $Diff_Gol $GF $GS;
    $query_Ord_Class "SELECT NS, GF, GS, PS FROM Classifica ORDER BY PS DESC AND '$Diff_Gol' DESC";
    $Ord_Class mysql_query($query_Ord_Class$Conn_DB) or die(mysql_error());
    $row_Ord_Class mysql_fetch_assoc($Ord_Class);
    $totalRows_Ord_Class mysql_num_rows($Ord_Class); 

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.