Visualizzazione risultati 1 fino 6 di 6

Discussione: Cambiare dati in MySQL ove i record sono più vecchi di 3 minuti

  1. #1
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito Cambiare dati in MySQL ove i record sono più vecchi di 3 minuti

    Buonasera,
    mi scuso per il titolo forse poco fantasioso ed intuitivo e detto questo passo ad esporvi il mio problema:

    Ho una tabella MySQL strutturata in questo modo

    NOME | TIME
    mic | time()
    ciao | time()

    Ora ho bisogno che dove time() (di php naturalmente) è più vecchio di un determinato numero di minuti (in questo caso 3) venga modificato il nome in qualche cosa di prestabilito.

    Ora utilizzo questa query:
    Codice PHP:
    mysql_query("UPDATE chat SET time = 'offline' WHERE time < '$scadenzaonline'")or die(mysql_error());
    Non mi mostra errori ma non funziona nemmeno...come posso risolvere? Oppure...come mai non funziona?
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #2
    Guest

    Predefinito

    Cioè, il campo time può essere sia numerico che stringa?


    Ciao!

  3. #3
    Guest

    Predefinito

    Si, ma cosa contiene $scadenzaonline ?
    In linea di massima basta questo.
    Codice PHP:
    mysql_query("UPDATE chat SET time = 'offline' WHERE TIMESTAMP - time > 60*3")or die(mysql_error());
    Ovvero, se la differenza in secondi tra l'ora attuale e quella dell'ultima azione è maggiore di 3 minuti va offline.

  4. #4
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Citazione Originalmente inviato da debug Visualizza messaggio
    Cioè, il campo time può essere sia numerico che stringa?


    Ciao!
    Si dato che time contiene il risultato di time()
    Citazione Originalmente inviato da stoner Visualizza messaggio
    Si, ma cosa contiene $scadenzaonline ?
    In linea di massima basta questo.
    Codice PHP:
    mysql_query("UPDATE chat SET time = 'offline' WHERE TIMESTAMP - time > 60*3")or die(mysql_error());
    Ovvero, se la differenza in secondi tra l'ora attuale e quella dell'ultima azione è maggiore di 3 minuti va offline.
    Se utilizzo la tua query mi viene mostrato:
    Unknown column 'TIMESTAMP' in 'where clause'
    La colonna time è di tipo mediumtext.
    Apprezzi l'aiuto? Offrimi un caffè!

  5. #5
    Guest

    Predefinito

    Pensavo che esistesse la funzione.. vabè poco male.. basta fare
    Codice PHP:
    mysql_query("UPDATE chat SET time = 'offline' WHERE ".time()." - time > 60*3")or die(mysql_error());
    scusa, ma perchè time è mediumtext se si tratta di un valore intero??

  6. #6
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Beh stoner, per ora il codice sembra funzionare...se troverò qualche problema che attualmente non mi viene in mente editerò questo messaggio.

    Ti ringrazio!!!
    Apprezzi l'aiuto? Offrimi un caffè!

Regole di scrittura

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