- Home
- Categorie
- Coding e Sistemistica
- PHP
- Cancellare ultimo record se superano il massimo consentito
-
Cancellare ultimo record se superano il massimo consentito
Buonpomeriggio,
ho creato una chat e vorrei che, se ci sono ad esempio 70 messaggi nel database, all' invio di uno nuovo se ne cancellasse l' ultimo.
Allora nella funzione di invio messaggi ho proceduto così:[PHP] // Controllo il numero di records
$result=@mysql_query("SELECT COUNT(messaggio) FROM chat");
$righe=@mysql_num_rows($result);
for ($i=0;$i<$righe;$i++)
{
$array_result=mysql_fetch_row($result);
$count = $array_result[0];
}if($count == 70) { // se ci sono 70 messaggi $querydlt = @mysql_query("DELETE FROM chat ORDER BY datatime ASC LIMIT 1"); // cancello l' ultimo }[/PHP]
Datatime contiene le date di invio messaggi simile a "2010-10-08 16:11:30".
Il problema è che non funziona!
Idee ?
-
Ciao RoxasShadow,
prova cosi:
[php]
// Controllo il numero di records
$result=mysql_query("SELECT COUNT(messaggio) FROM chat");
$righe=mysql_num_rows($result);if($count == 70) { // se ci sono 70 messaggi $querydlt = mysql_query("DELETE FROM chat ORDER BY datatime ASC LIMIT 1"); // cancello l' ultimo }
[/php]
-
Niente, non funziona, ho anche provato così
[PHP]
// Controllo il numero di records
$result=mysql_query("SELECT COUNT(messaggio) FROM chat");
$righe=mysql_num_rows($result);if($count > 50) { // se ci sono più di 50 messaggi
$querydlt = mysql_query("DELETE FROM chat ORDER BY datatime ASC LIMIT 1"); // cancello l' ultimo
}
[/PHP]
-
Scusa errore mio, il nome di una variabile non è errato:
[php]
// Controllo il numero di records
$result=mysql_query("SELECT COUNT(messaggio) FROM chat");
$righe=mysql_num_rows($result);if($righe == 70) { // se ci sono 70 messaggi $querydlt = mysql_query("DELETE FROM chat ORDER BY datatime ASC LIMIT 1"); // cancello l' ultimo }
[/php]
Tieni presente che con questo sistema se sono presenti 71 messaggi, non funzionerà, devono essercene massimo 70.