Visualizzazione risultati 1 fino 3 di 3

Discussione: Eliminare riga da mysql in base alla data con confronto

  1. #1
    adminreluca non è connesso Utente
    Data registrazione
    06-03-2006
    Messaggi
    112

    Predefinito Eliminare riga da mysql in base alla data con confronto

    Ciao ragazzi, ho fatto questo script ma non funziona come dovrebbe:
    Codice PHP:
    <?PHP
    //Recupero la data di ieri
    $elimina_date = date("d-m-Y",mktime(0,0,0,date("m"),date("d")-1,date("Y")));

    // Mi connetto al database
    include ('amministrazione/system_connessioni/cor_mysql_connect.php');
    mysql_select_db("$db_name2")or die("cannot select DB");

    //
    $rs = mysql_query("SELECT strtotime, id FROM corsi_adulti");
    $nr = mysql_num_rows($rs);
    if (
    $nr != 0){
    for(
    $x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rs);

    if (
    $row['strtotime'] < $elimina_date){
    mysql_query("DELETE FROM corsi_adulti WHERE id='" . $row['id'] . "'");
    }
    }
    }else{
    echo
    "Nessun record trovato!";
    }


    ?>
    In pratica, mi serve una cosa che confronti la strtotime che è un campo già nel database, con la strtotime del giorno precedente all'odierno e di conseguenza elimini tutte le righe passate (ovvero le date vecchie).

    Mi aiutate per favore, se avete anche altre proposte già fatte sono ben accette, non riesco proprio a saltarci fuori questa volta

    Così com'è mi cancella un record del database ogni volta che viene caricata la pagina
    Ultima modifica di adminreluca : 15-02-2012 alle ore 22.39.56

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Ma nel database hai una stringa o un campo di tipo data? Nel secondo caso sarebbe semplicissimo:

    Codice:
    DELETE FROM corsi_adulti WHERE strtotime < NOW() - INTERVAL 1 DAY


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    adminreluca non è connesso Utente
    Data registrazione
    06-03-2006
    Messaggi
    112

    Predefinito

    ci ho lavorato un poco questa mattina e ho trasformato il campo nel database in DATATIME. al momento lo script che ho postato sopra l'ho modificato solo col select, più tardi integro la funzione delete come mi hai suggerito te.

    grazie mille!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •