Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909

    date intercorrono tra una e l'altra

    qualcuno sa dirmi almeno come posso fare a recuperare tutti i giorni che intercorrono tra una data ed un'altra nel db?

    es. nel db:
    dal al
    2008-02-02 2008-02-06

    come faccio ad ottenere e poi stampare un array che abbia come valori :
    2008-02-02 2008-02-03 2008-02-04 2008-02-05 2008-02-06

    ....mi serve per poter controllare che la data odierna sia tra queste e se c'è mi dovrebbe riportare il valore corrispondente nel db....


    grazie mille

  2. #2
    Identifichi la data minore.
    Esegui un ciclo a partire da tale valore fin tanto che il valore della data corrente non è >= alla data maggiore.
    Per calcolare la data corrente puoi utilizzare http://www.php.net/mktime aggiungendo di volta in volta un giorno (vedi esempi del manuale)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    perdonami ma non sono cosi ferrato sui cicli...mi posteresti un esempio giusto per capire?


    grazie

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Codice PHP:
     for($i strtotime('2008-02-02'); $i<=strtotime('2008-02-06'); $i strtotime("+1 day",$i)) 
         echo 
    date('Y-m-d',$i).'
    '


  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    grazie mille funziona!


    ora ..se posso approfittare, dovrei recuperarmi delle quantita dal db dove la data che stampo a video è uguale a quelle appena ottenute.

    nel db:
    id, dal_data, al_data, qta
    $tisdata = date("Y-m-d", $a);

    $dati = mysql_query("SELECT * FROM tabella WHERE id='$id dal_data = '$tisdata' OR id='$id' AND al_data ='$tisdata' ");
    WHILE($row = mysql_fetch_assoc($dati)){


    for($i = strtotime($row[dal_data]); $i<=strtotime($row[al_data]); $i = strtotime("+1 day",$i))
    echo date('Y-m-d',$i).'lll
    ';
    }
    [/code]

  6. #6
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619
    Se quello che ti serve è solo fare un controllo se una data rientra in un intervallo puoi usare between direttamente in SQl se hai usato un campo timestamp.

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.