Newsgroup: it.comp.www.php
Titolo: Re: Eliminare valori in database Mysql

 qui basta una query sola.
Grazie per i consigli, soprattutto il primo!
Siccome, però, sono un pò alle prime armi con Php-Mysql dove posso trovare
un esempio, una guida, un tutorial o altro specifico per queste query.
Grazie 1000!
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Ciao a tutti.
Devo effettuare delle importantimodifiche in due tabelle di un mio database
e, siccome non sono fortissimo con Php e MySql, chiedo se qualcuno può
aiutarmi, anche a trovare informazioni su internet.
Ho una tabella con i punteggi ottenuti da un certo numero di giocatori, per
farla breve la tabella ha la seguente strutture:
Giocatore1    Punteggio1    Data1    ecc.
Giocatore1    Punteggio2    Data2    ecc.
Giocatore1    Punteggio3    Data3    ecc.
Giocatore2    Punteggio1    Data4    ecc.
Giocatore2    Punteggio2    Data5    ecc.
Giocatore2    Punteggio3    Data6    ecc.
Giocatore2    Punteggio4    Data7    ecc.
In pratica ogni giocatore, ogni volta che gioca, registra il suo punteggio.
La modifica che devo fare consiste nell'eliminare tutti i punteggi di ogni
giocatore ad esclusione del punteggio massimo (quindi ogni giocatore verrà
inserito in classifica una sola volta) e, una volta fatto questo, e quindi
una volta ottimizzata la tabella, registrare il nuovo punteggio di un
giocatore solamente nel caso in cui quest'ultimo ottenga un punteggio
maggiore del precedente.
Il risultato finale dovrà essere:
Giocatore1    Punteggio1    Data1    ecc.
Giocatore2    Punteggio2    Data2    ecc.
Giocatore3    Punteggio3    Data3    ecc.
Giocatore4    Punteggio4    Data4    ecc.
Da dove devo cominciare? Dove posso trovare informazioni?
Grazie 1000!

maggiore del precedente.
qui basta una query sola.
Francesco Mazzi
Webmaster di AltroPC.it - 
http://www.altropc.it
 
Project Admin di "PHP Reservation - Online booking system" - 
http://phpreservation.sourceforge.net
Dev.Staff di E-Xoopport - 
http://dev.e-xoopport.it

un esempio, una guida, un tutorial o altro specifico per queste query.
Il manuale che trovi sul sito ufficiale di mysql ( 
www.mysql.com
 ) ha
all'interno  un buon tutorial che ti insegna le basi, che poi puoi
approfondire con il resto del manuale.
Se vuoi ti scrivo le query che ti servono cosě le studi, oppure
preferisci trovartele da solo?


 preferisci trovartele da solo?
Ho scritto cos':
for ($j = 0; $j <= 30; $j++){
            $queryPunteggioMax = "SELECT * FROM classifica WHERE
Nome='".$utente."' AND Punteggio > '".$MaxPunti."'";
            $resultPunteggioMax = mysql_query($queryPunteggioMax, $db);
            $row2 = mysql_fetch_array($resultPunteggioMax);
            If ($row2[1] != "") {
               $MaxPunti = $row2[1];
            }
            else {$j = 31;}
        }
        $MaxPunti = $MaxPunti;
        for ($k = 0; $k <= 30; $k++){
            $queryPunteggioMax2 = "SELECT * FROM classifica WHERE
Nome='".$utente."' AND Punteggio < '".$MaxPunti."'";
            $resultPunteggioMax2 = mysql_query($queryPunteggioMax2, $db);
            $row3 = mysql_fetch_array($resultPunteggioMax2);
            $querycancella = "DELETE * FROM classifica WHERE
Nome='".$row3[0]."' AND Punteggio='".$row3[1]."' AND
dGiuste='".$row3[2]."' AND dNulle='".$row3[3]."' AND
dSbagliate='".$row3[4]."' AND DATA='".$row3[5]."'";
            If ($row3[1] != "") {
               $Cancellata = $row3[1];
            }
            else {$k = 31;}
        }
        echo "$utente, $Cancellata <br/>";
    }
    else {$i = 41;}
 
In pratica la prima query mi calcola il punteggio massimo per ogni utente
e la seconda mi dovrebbe cancellare tutti i punteggi inferiori al massimo,
però non mi funziona.
Dove sbaglio?


 
non ho capito bene quello che vuoi ottenere ma (naturalmente con le
modifiche per il tuo db)..
$result = mysql_query("SELECT Nome, max(Punteggio) as Punteggio FROM
Classifica GROUP BY Nome") or die(mysql_error());
while($line = mysql_fetch_assoc($result)){
 mysql_query("DELETE FROM Classifica WHERE Nome = '{$line['Nome']}'") or
die(mysql_error());
 mysql_query("INSERT INTO Classifica (Nome, Punteggio) values
('{$line['Nome']}', '{$line['Punteggio']}')") or die(mysql_error());
}
mysql_free_result($result);
-- 
www.iuz-lab.info

 mysql_free_result($result);
Grazie 1000.
Con 2 semplici modifiche era perfettamente quello di cui ho bisogno.
