Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    25

    [mysql] condizioni del LIMIT

    Innanzi tutto ciao a tutti i forumisti della sezione

    ho creato un sistema di bacheche nel mio sito, dove i singoli articoli vengono ordinati per data e visualizzati tramite il comando LIMIT solo gli ultimi 15 articoli di quella sezione.
    La mia necessita sarebbe ora di cancellare dal mio database i messaggi oltre il quindicesimo, quindi non visualizzati e che occupano spazio inutilmente
    Avevo pensato magari di usare qualche funzione di php per "contare" il numero di messaggi presenti ed eliminare gli eccessi dopo il quindicesimo.. voi che consigliate?
    Il titolo del post era riferito magari alla possibilità di usare qualche comando che agisse sul limit (magari una query che eliminasse i messaggi dove limit > 16 ed esempio )

    Grazie in anticipo

  2. #2
    codice:
    	$array = array();
    	$query = 'select * from articoli order by data desc limit 15';
    	$res = mysql_query($query);
    	$i=1;
    	while($row = mysql_fetch_assoc($res))
    	{
    		$array[] = $row; # Vedi tu cosa farci con questi dati
    		if($i == 15)
    			$lastid = $row['id'];
    		$i++;
    	}
    	$query = 'delete from articoli where id < '. $lastid;
    	mysql_query($query);
    Giusto una cosa veloce, per non starci a pensare troppo su e darti una risposta. Prova un po'...

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Penso che sia corretto il count(). Fai capire che gli articoli (qualunque) debbano restare entro le 15 unità più recenti. Per stabilire il recente ci sarà un id oppure una data.

    select count(*) as tot from tabella ....
    .....
    if($tot > 15) {
    $tot = $tot - 15;
    DELETE from tabella order by id ASC LIMIT $tot
    } else { echo "i record sono solo $tot"; }


  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    25
    Si esatto, la mia idea era che ogni volta che si visualizzano gli articoli ordinati per data e ora, faccio un controllo, e se superano le 15 unità conservo la quindicina recente e il resto lo elimino dalla tabella
    Grazie mille

  5. #5
    Non avevo mai usato il delete col limit... imparata cosa nuova.

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.