Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: funzione interval

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    201

    funzione interval

    Ciao a tutti, cè qualcuno per favore che puo dirmi come scrivo una cosa del genere:

    $now = mktime(date("H"), date("i, s, m, d, Y"));
    $date_att = date('Y-m-d');


    if ($date + INTERVAL $giorni DAY > $date_att) {
    $cc="funziona";
    } else {
    $cc="non funziona";
    }

    Nella query funziona.

    dove $giorni è un dato che prelevo dal db.
    In pratica se la data attuale è superiore alla data immissione ($date) + il numero dei giorni ($giorni) printa funziona.

    Probabilmente è semplicissimo ma ho provato in varie maniere e non riesco, così come scritta mi da una pagina bianca..

    Grazie
    TEO
    teo

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    201

    precisazione

    quello che ho scritto è sql non php...chiaro che non funziona.

    cosa mi consigliate per risolvere?
    teo

  3. #3
    puoi utilizzare la funzione dateDiff

    http://www.ilovejackdaniels.com/php/...diff-function/
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    240

    prova

    cosi dovrebbe funzionare

    Codice PHP:
    $oggi mktime (0,0,0,date(m),date('d'),date('Y'));

    $tuaData mktime (0,0,0,$meseImmissione,$giornoImmissione+$giorniDaAggiungere,$annoImmissione);

    if (
    $tuaData  $oggi ) {
    $cc="funziona";
    } else {
    $cc="non funziona";

    L'anno è in formato aaaa

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    non c'è interval in php

    se vuoi aggiungere dei giorni questo è un esempio

    echo date('d-m-Y',mktime(0,0,0,5,2+3,2006)); //05/05/2006

    al 2 maggio 2006 ho aggiunto 3 giorni

    in alternativa usa strtotime

    strtotime("2006-05-02 + 3 days");

    quindi fai il confronto tra i timestamp


  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    201

    alla faccia della funzione...

    Allora mi sembra molto complessa la storia....
    teo

  7. #7

    Re: alla faccia della funzione...

    utilizzando datediff direi proprio di no
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923

    Re: alla faccia della funzione...

    Originariamente inviato da teo2
    Allora mi sembra molto complessa la storia....
    Codice PHP:
    $date "2006-09-15";
    $day 5;
    $date_att "2006-09-19"

    if (
    strtotime("$date + $day days") > strtotime($date_att) )
    echo 
    'maggiore di oggi';
    else
    echo 
    'minore o uguale a oggi'

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    201

    Ho provato...

    Allora ho provato la funzione che ha postato shadir, ho estrappolato i dati con una substring, visto che la data era tipo 2006-09-19 : giorni-mesi-anni, funziona ma alla variabile $giorni ho dovuto aggiungere 1: $giorni+1...

    è giusto? altrimenti dalla data 18.09.2006 (variabile $giorni=1) mostrava non funziona invece che funziona...
    teo

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    201

    Anche questa funziona

    Anche la soluzione postata da nicola75ss funziona; devo solo aggiungere +1 a $giorno
    teo

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.