Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    registrazione record a tempo

    Per un contatore di visite, prima di effettuare la registrazione, uso questa query di controllo:
    Codice PHP:
    SELECT FROM stats WHERE ip '127.0.0.1' AND pagina_visitata 'pagina1.php' 
    Se il record è vuoto eseguo la registrazione della visita, altrimenti non faccio nulla.
    Siccome la tabella contiene anche un campo data_visita che è di tipo timestamp e come valore predefinito ha CURRENT_TIMESTAMP, è possibile cambiare la query e controllare se è trascorsa almeno un'ora dall'ultima visita dello stesso utente alla stessa pagina?

    Ringrazio per la risposta

  2. #2
    Forse la domanda non è abbastanza chiara.
    Quel che volevo sapere è come fare per stabilire se registrare il nuovo accesso se:
    Codice PHP:
    .......WHERE ip '127.0.0.1' AND pagina_visitata 'pagina1.php' AND (data_visita 1 ora) < di adesso 
    E' questa ultima istruzione che non so impostare perchè ancora non ho mai fatto dei calcoli temporali in una query.

  3. #3
    se si tratta di mysql

    Codice PHP:
    ... AND data_visita <= NOW() - interval 1 hour 

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Grazie piero.mac,
    pensavo chissà quali complicati calcoli e conversioni dovessi fare.
    Così mi sembra molto semplice.
    Lo testerò subito

  5. #5
    Sto testando il suggerimento che mi hai dato e sembra che funzioni bene.
    Però trattandosi di test, per ora, ho bisogno di tempi più brevi per cui ho cambiato hour con minute.
    Vorrei chiedere una cosa. Se nella versione definitiva dopo aver completato i test lascio "minute" posso usare numeri che vadano oltre i 59?
    codice:
    ........AND data_visita >= (NOW() - interval 120 MINUTE)
    Lo chiedo solo perchè aspettare 60 o 120 minuti tra una prova ed un'altra la vedo dura e potrei presto diventare così

    Grazie ancora per la risposta

  6. #6
    Originariamente inviato da micdas
    Sto testando il suggerimento che mi hai dato e sembra che funzioni bene.
    Però trattandosi di test, per ora, ho bisogno di tempi più brevi per cui ho cambiato hour con minute.
    Vorrei chiedere una cosa. Se nella versione definitiva dopo aver completato i test lascio "minute" posso usare numeri che vadano oltre i 59?
    codice:
    ........AND data_visita >= (NOW() - interval 120 MINUTE)
    certamente si.

    puoi metterci una variabile e correggere quella. Potresti anche gestire la variabile tramite form.

    codice:
    $ciccio = '20 second';
    
    ........AND data_visita >= (NOW() - interval $ciccio)

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Grazie ancora piero.mac


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 © 2026 vBulletin Solutions, Inc. All rights reserved.