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

    [PhP] - Problema logico per il controllo di una data

    Ciao a tutti,
    ho questo problemaccio, in poche parole prendo una data da una form in questa forma:
    gg/mm/aaaa

    La esplodo per / e mi ritrovo un array in cui ci sono la data il mese e l'anno e fin qui ci sono.
    Ora il mio problema è quello di verificare che la data sia entro un determinato range in questo modo:
    imposto il giorno il mese e l'anno di inizio (il mio progetto è un istituto scolastico, quindi stò parlando della data di inizio dei corsi di istruzione)
    e imposto la data di fine dei corsi quindi: giorno mese ed anno.

    Anche fin qui ci sono, ho solo impostato 6 variabili con delle date di prova...
    Ora il mio problema è quello appunto di controllare che la data "data" rientri in quel range, mi stò scervellando nel creare un IF adatta, solamente che non ci riesco :|

    Ho pensato di partire il controllo con l'anno quindi se l'anno è esatto proseguo con il mese e poi con i giorni, solo che proprio non sò come impostare la sequenza di if che qualcuno mi dia una mano prima che impazzisco!!

    Conto sul vostro aiuto visto che io mi sono proprio bloccato, grazie e se mi son spiegato male ditemi che cerco di esprimermi meglio
    ciauz
    W magica ROMA!

  2. #2
    Utente bannato
    Registrato dal
    Aug 2001
    Messaggi
    696
    metti tute le date nel formato
    yyyymmdd

    poi le puoi controllare con un semplice if

  3. #3
    Le date una volta prese dalla form posso metterle in qualsiasi formato, basta ricomporre la data posizionado l'array come voglio, ma il problema resta: come controllo la data con 1 semplice IF ?

    Grazie ciauz
    W magica ROMA!

  4. #4
    Salvi in una variabile le due date "limite", ma non nel formato yyyy/mm/dd
    ma come numero intero,
    quindi
    $max = yyyy*10000 + mm*100 + dd;
    $min = yyyy*10000 + mm*100 + dd;
    $data = yyyy*10000 + mm*100 + dd
    if (($data < $max) && ($data > $min)){
    ;//ok
    }else{
    ;//fuori range
    }

  5. #5
    Utente bannato
    Registrato dal
    Aug 2001
    Messaggi
    696
    $data_inizio=20040110;
    $data_fine=20041001;
    if($data_form>=$data_inizio && $data_form<=$data_fine){
    //ok
    }else{
    //no
    }

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