Visualizzazione dei risultati da 1 a 6 su 6

Discussione: controllare le date

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    49

    controllare le date

    Buonasera,

    Ho una domanda da porre a chi ne sa più di me.
    Sto scrivendo uno script che controlli, tramite MySQL, se una determinata data è passata all'interno di una tabella, e nel caso in cui sia passata, eliminare quel campo dalla tabella.

    Ora la domanda è, come?

    Finora sono arrivato a pensare solo a questo:

    codice:
    <?php
    
    include "include/settings.php";
    
    
    $now = now();
    
    
    $isdone = mysqli_connect($server_ip, $user, $password, $database) or die(mysqli_error());
        
    $checkdone = mysqli_query($isdone,"SELECT * FROM database.tabella");
    $execute = mysqli_fetch_array($checkdone);
    $takedate = $execute['data'];
    
    
    if($takedate < $now) {
       //Qua dovrei inserire la query per cancellare il campo?
    } else {
    }
    
    
    mysqli_close($isdone);
    
    
    ?>

    Ora la mia domanda è, come fà lo script a identificare con esattezza il campo da eliminare? cioè voglio dire, poniamo caso che io abbia 2 colonne, uno "nome" e l'altro "data", con dentro dei dati.
    Se io controllo "data", come fa a sapere che la data passata è effettivamente di pincopallino anzi che di geltrude?

    Questo è il mio dilemma
    Ultima modifica di faby90; 19-12-2013 a 02:51

  2. #2
    ciao potresti provare in questo modo:
    Codice PHP:
     mysqli_query($isdone,"DELETE FROM tabella  WHERE nome='$nome' AND data_inserimento< NOW()"); 
    [/php]

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    49
    Potrebbe funzionare, però il problema è che io il campo nome non cel'ho, lo deve determinare lo script.

    cioè, mi spiego meglio, io nella tabella magari ho 3000 righe, e 200 di esse sono scadute (data passata), come le identifico tutte?

  4. #4
    Ho messo il nome ma potrebbe essere anche un id.

    Ma nei record da eliminare con date scadute cmq è presnte la denominazione dell'utente? Tu prima di eliminare i record hai necessita' di visualizzarli e poi decidi di eliminarli?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    49
    no in pratica, mi spiego meglio.

    ho una tabella con i seguenti campi "index" "nome" "data" l'index è ad incremento e chiave primaria.

    ora vorrei controllare in pratica tutte le righe della tabella, e a seconda se la data è passata rispetto oggi, eliminare quella riga.

    ho pensato che potrei sfruttare un cicio while e if / for al suo interno, però non riesco a comprendere come identificare la riga.
    Cioè, io posso selezionare tutte le date e controllare tramite ciclo while, ma come faccio a determinare che la data relativa al nome X è scaduta ed eliminare la riga per poi proseguire con la ricerca fino quando finiscono i campi? mettiamo che ho 100 righe, devo controllarle tutte e 100


    io pensavo una cosa del tipo

    codice:
    while($execute = mysqli_fetch_array($checkdone)) {
    
    $takedate = $execute['data'];
    
       if($takedate < $now){
    
       $delete = mysqli_query($isdone,"DELETE FROM database.tabella WHERE $takedata < $now");
       }
    }

    ma può effettivamente funzionare?
    Perché mi da molteplici errori...
    Ultima modifica di faby90; 19-12-2013 a 23:45

  6. #6
    while($execute = mysqli_fetch_array($checkdone)) {

    $takedate = $execute['data'];

    if
    ($takedate < $now){

    $delete =
    mysqli_query($isdone,"DELETE FROM database.tabella WHERE $takedata < $now");
    }
    }
    quello che stai facendo con questo ciclo lo puoi fare tranquillamente così:
    Codice PHP:
    mysqli_query($isdone,"DELETE FROM tabella  WHERE data_inserimento< NOW()"); 
    //oppure usando curdate() a seconda del formato della data
    mysqli_query($isdone,"DELETE FROM tabella  WHERE data_inserimento< CURDATE()"); 

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.