Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 18-12-08, 21:43   #1 (permalink)
User
 
Data di registrazione: Jun 2008
Messaggi: 632
Cancellazione dati dopo tot limite

Salve di nuovo ragazzi...
Ho questo dubbio o problema che dir si voglia....riguarda la minichat che sto creando...praticamente volevo sapere come potrei cancellare i dati presenti nella tabella minichat...cioè dopo un certo tot di messaggi vorrei far si che avvenisse una cancellazione dei vecchi messaggi in automatico per evitare pesi di dati inuti al database....
carlitos1982 non in linea   Rispondi citando
Vecchio 18-12-08, 22:02   #2 (permalink)
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,845
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
Ciao carlitos1982

Potresti recuperare, a seguito di un INSERT, l'ultimo id generato (con la funzione mysql_insert_id() ) e quindi sottrarre a questo il numero di record che vuoi mantenere nel Db ed eliminare i record il cui id sia inferiore a id - x (dove x è il numero di righe da mantenere).

Facci sapere se così risolvi eh
__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn non in linea   Rispondi citando
Vecchio 18-12-08, 23:42   #3 (permalink)
User
 
Data di registrazione: Jun 2008
Messaggi: 632
[...]

Be..ho capito solo la prima parte di ciò che mi hai detto...
Comunque faccio l'esempio_e posto il codice
Codice PHP:

$sql 
"INSERT INTO minichat (id_user, testo,tempo) VALUES ('$id_user','$text',CURRENT_TIME())";
$query= @mysql_query ($sql) or die (mysql_error());
}


$sql_select="SELECT id_user, testo,tempo FROM minichat ORDER BY id DESC LIMIT 10";
$query_select= @mysql_query($sql_select) or die (mysql_error());

$recuperoid=mysql_insert_id(); 
Nella tabella minichat ho già un campo id auto_increment...quindi mi recupera quello credo..
Non ho capito la seconda parte di ciò che mi hai detto

Ultima modifica di Samyorn : 18-12-08 23:47. Motivo: Inutile quotare il post a cui si risponde. Corretti piccoli errori.
carlitos1982 non in linea   Rispondi citando
Vecchio 19-12-08, 00:00   #4 (permalink)
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,845
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
Si hai compreso bene, quella funzione ti recupera l'ultimo id appena inserito, dovresti metterlo pero' dopo l'INSERT.
A seguire, sempre prima del SELECT, ti basterà fare un DELETE mettendo come condizione che debba cancellare tutti i record che hanno id uguale all'ultimo id inserito meno il numero di post che vuoi conservare. Ammettiamo tu ne voglia conservare 60, protresti procedere così:
Codice PHP:
$sql "INSERT INTO minichat (id_user, testo,tempo) VALUES ('$id_user','$text',CURRENT_TIME())";
$query= @mysql_query ($sql) or die (mysql_error());

$recuperoid=mysql_insert_id();
$trim_id=$recuperoid-60;  

$sql_delete="DELETE FROM minichat WHERE id<'$trim_id'";
$query= @mysql_query ($sql_delete) or die (mysql_error());

}

$sql_select="SELECT id_user, testo,tempo FROM minichat ORDER BY id DESC LIMIT 10";
$query_select= @mysql_query($sql_select) or die (mysql_error()); 
Vedi se così va'
__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn non in linea   Rispondi citando
Vecchio 19-12-08, 00:19   #5 (permalink)
User
 
Data di registrazione: Jun 2008
Messaggi: 632
[...]


Si funziona
Grazie
Samyorn..non ho capito una cosa....ma la variabile $trim_id è una semplice variabile che memorizza il contenuto di $recuperoid-60,_non fa null altro giusto?

Ultima modifica di Samyorn : 19-12-08 00:21. Motivo: Inutile quotare il post a cui si risponde. Corretti errori di scrittura.
carlitos1982 non in linea   Rispondi citando
Vecchio 19-12-08, 00:23   #6 (permalink)
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,845
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
Di nulla

Si, serve solo a memorizzare il dato e quindi passarlo all'istruzione SQL.

Alla prossima.
__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn non in linea   Rispondi citando
Rispondi


Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 13:01.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.