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

    [PHP] Problema con query

    Ciao, ascoltate devo aver commesso un'errore nel codice php, sta di fatto che non riesco ad aggiornare una tabella nel database, vi mostro il codice php sperando che qualcuno mi sappia dire dove sta l'errore.

    Da un form invio i risultati alla pagina result_a.php, il form invia una serie di variabili chiamate:

    id (hidden lo imposto io nel codice html)
    result1
    result2
    stato
    cl1 (hidden lo imposto io nel codice html)
    cl2 (hidden lo imposto io nel codice html)

    ecco il codice:

    <?
    //------------------------------------------------
    // CLAN WAR TOURNAMENT v 1.0 powered by Lucifer
    // http://www.aao-federation.zeroping.it
    //------------------------------------------------
    # Legenda apici
    # ID sfida = $id
    # Risultato clan1 = $result1
    # Risultato clan2 = $result2
    # Stato = $stato
    # ID clan1 = $cl1
    # ID clan2 = $cl2
    # Caricamento parametri di connessione
    include("config.php");
    # Connessione al database
    $db = mysql_connect($db_host, $db_login, $db_pass);
    if ($db == FALSE)
    die ("Errore nella connessione.");
    mysql_select_db($database, $db)
    or die ("Errore nella selezione del database.");
    #
    # Aggiornamento risultati
    #
    $query = "UPDATE tournament_a SET result1='$result1', result2='$result2', stato='$stato' WHERE id='$id'";
    if (mysql_query($query, $db))
    echo "Risultato inserito!";
    else
    echo "Erorre durante l'inserimento";
    #
    # Aggiornamento classifica, partite giocate e differenza round
    #
    if ($result1>$result2){ // Se ha vinto la squadra 1
    $query = "UPDATE classifica_a SET punti = punti + 3, giocate = giocate + 1, rd = rd + $result1-$result2 WHERE id='$cl1'";
    if (mysql_query($query, $db))
    echo "Classifica aggiornata!";
    else
    echo "Erorre durante l'inserimento";
    }
    if ($result1==$result2){ // Se hanno pareggiato +1pt clan1
    $query = "UPDATE classifica_a SET punti = punti + 1, giocate = giocate + 1, rd = rd + $result1-$result2 WHERE id='$cl1'";
    if (mysql_query($query, $db))
    echo "Classifica aggiornata!";
    else
    echo "Erorre durante l'inserimento";
    }
    if ($result1==$result2){ // Se hanno pareggiato +1pt clan2
    $query = "UPDATE classifica_a SET punti = punti + 1, giocate = giocate + 1, rd = rd + $result2-$result1 WHERE id='$cl2'";
    if (mysql_query($query, $db))
    echo "Classifica aggiornata!";
    else
    echo "Erorre durante l'inserimento";
    }
    if ($result1<$result2){ // Se ha vinto la squadra 2
    $query = "UPDATE classifica_a SET punti = punti + 3, giocate = giocate + 1, rd = rd + $result2-$result1 WHERE id='$cl2'";
    if (mysql_query($query, $db))
    echo "Classifica aggiornata!";
    else
    echo "Erorre durante l'inserimento";
    }
    #
    # Chiusura connessione
    #
    mysql_close ($db);
    ?>
    Ora come noterete la pagina php aggiorna 2 tabelle, quella dei risultati e quella della classifica, la prima "tournament_a", la aggiorna senza problemi, la seconda invece me la trovo sempre non aggiornata, ho verificato con attenzione nel database tutte le colonne e corrispondono a quelle richiamate dalla queri, dove ho sbagliato?


  2. #2
    Sono uno .......

    Ho risolto, avevo dimenticato questo:

    if ($_POST['result1'] > $_POST['result2']){ // Se ha vinto la squadra 1
    $query = "UPDATE classifica_a SET punti = punti + 3, giocate = giocate + 1, rd = rd + $result1-$result2 WHERE id='$cl1'";
    if (mysql_query($query, $db))
    echo "Classifica aggiornata!";
    else
    echo "Erorre durante l'inserimento";
    }

  3. #3
    Direi che sei già a posto così!

    -... Jack: quando ti viene in mente un'idea, scrivila e basta!-
    (Alec Baldwin "Caccia a Ottobre Rosso)

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.