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

    se la differenza data ...

    ho un db mysql con il campo Data settato su tipo:date, devo effettuare una differenza tra la data odierna e quelle nel db, se la differenza è una data nuova di almeno 3 giorni faccio comparire una scritta... ho fatto così ma senza alcun risultato:

    codice:
    $oggi = date('Y-m-d');
    $giorni_dalla_pubbl = ($oggi - $notizie[0]['data']);
    if ($giorni_dalla_pubbl <= 3) echo "nuova!";
    dove sbaglio?

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Non puoi sottrarre una data di tipo 27-03-2006 con un'altra anche se dello stesso tipo perche' nn e' un numero.
    Dovresti fare la cosa col timesptamp che e' un numero intero espresso in secondi.

    $oggi = time();//secondi in numero intero
    In che formato hai $notizie[0]['data']?

    se e' come 27-03-2006 c'e' da fare un lavoretto sulla data e poi sottrarre.

    Se e' Y-m-d dovresti fare:
    Codice PHP:
    list($anno,$mese,$giorno) = explode("/",$notizie[0]['data']);
    $dataDB mktime(0,0,0,$mese,$giorno,$anno); 
    e poi sottrarre i due interi
    Codice PHP:
    $oggi $dataDB// = giorni restanti fra una data e l'altra 
    da formattare se ti serve in formato 27-03-2006

  3. #3
    Originariamente inviato da marco80
    Non puoi sottrarre una data di tipo 27-03-2006 con un'altra anche se dello stesso tipo perche' nn e' un numero.
    Dovresti fare la cosa col timesptamp che e' un numero intero espresso in secondi.

    $oggi = time();//secondi in numero intero
    In che formato hai $notizie[0]['data']?

    se e' come 27-03-2006 c'e' da fare un lavoretto sulla date e poi sottrarre.
    $notizie[0]['data'] è in formato originale aaaa/mm/gg quindi in 2006/03/28 come faccio quindi?

  4. #4
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Guarda l'edit del mio post.

  5. #5
    se hai mysql almeno 4.1 la cosa e' semplicissima.

    SELECT DATEDIFF(data_maggiore, data_minore) as diff

    ed e' fatto.

    La pillola al proposito.

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

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.