Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654

    Alcuni calcoli con date

    Da un form mi arriva una data iniziale e una data finale.
    Con questo range devo costruire un calendario (i giorni in alto).
    1. Come faccio a inserire tutti i valori (le date del range) in un array?
    2. Come posso fare per estrarre il giorno di ogni singola data (che poi stampo nella riga in alto del calendario)?


  2. #2

    Re: Alcuni calcoli con date

    Originariamente inviato da Horus-Ra
    Da un form mi arriva una data iniziale e una data finale.
    Con questo range devo costruire un calendario (i giorni in alto).
    1. Come faccio a inserire tutti i valori (le date del range) in un array?
    2. Come posso fare per estrarre il giorno di ogni singola data (che poi stampo nella riga in alto del calendario)?

    con una variabile numerica normale farei così


    for($DATE = $data; $DATE <= $data2; $DATE++)
    { echo"$DATE"; }


    ora dipende dal formato...(date, datetime, timestamp)
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Io mi son fatto una funzioncina per queste necessità.

    Codice PHP:
    function crea_Array($da,$a,$arr ''){
    global 
    $arr;
    for(
    $i strtotime($da); $i<=strtotime($a); $i strtotime("+1 day",$i))
        
    $arr[] = date('Y-m-d',$i);
    return 
    $arr;
    }

    $inizio "2004-02-28"
    $fine   "2004-03-15";

    $array crea_Array($inizio,$fine$arr =array() );

    echo 
    '<pre>';
    print_r($array);
    echo 
    '</pre>'

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Grande, funziona

    Io con le funzioni ho poca dimestichezza. Per calcolare il numero di giorni che separano due date ho fatto così:
    Codice PHP:
    function intervallo_giorni($inizio,$fine){
      
    $data_inizio_ar=explode("-",$data_inizio);
      
    $data_fine_ar=explode("-",$data_fine);
      
    $giorni=$data_inizio_ar[2]-$data_fine_ar[2];
    }
    intervallo_giorni($data_inizio,$data_fine);
    echo 
    $giorni
    Però mi dà errore, mi dice che le variabili sono indefinite :master:

    Grazie a entrambi per l'aiuto

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    con mysql ci metti un secondo a scrivere una query che conti i giorni di differenza.
    con php piero.mac ha sfornato una funzioncina ad hoc.
    http://forum.html.it/forum/showthrea...hreadid=948551

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Ammazza, che funzione... Direi che al momento utilizzerò la query di mysql, almeno finchè non avrò il tempo per studiarmela
    Piero propone questa query:
    SELECT DATEDIFF('2006-03-09', '2006-02-10') AS diff from ....

    Solo che non riesco a capire come devo impostarla... questa non seleziona semplicemente i record tra le due date? Io invece devo trovare il numero di giorni che le separa... sbaglio?

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    SELECT DATEDIFF('2006-03-09', '2006-02-10') AS diff

    // 27

    altro non fa.

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    ehm... ultima domanda, giuro
    Questo è quello che ho scritto:
    $giorni = "SELECT DATEDIFF('$data_fine', '$data_inizio') AS diff";
    $query2=mysql_query($giorni) or die(mysql_error());

    come faccio a prendere e utilizzare il valore numerico che esce? Un semplice echo non funziona, naturalmente...

    Grazie per la pazienza

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    $row = mysql_fetch_row($query2);
    $diff = $row[0];

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.