Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577

    Calcolare la data maggiore fra 3

    Buongiorno a tutti,

    ho 3 variabili che possono contenere 3 date.

    Quale può essere il metodo più veloce, magari inserendole in un vettore, per trovare la data più grande senza fare tante condizioni if ?

    Es.

    $data1 = 2004-05-26;
    $data2 = 2004-02-16;
    $data3 = 2004-07-01;

    Grazie

    Lucia

  2. #2
    $data = Array( '2004-05-26', '2004-02-16', '2004-07-01', '2004-03-10' );
    sort( $data );
    reset( $data );
    $data = array_reverse( $data );
    echo $data[0];
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577
    Stupefacente !!!


    Grazie andr3a

  4. #4
    Originariamente inviato da lucisetti
    Stupefacente !!!
    drogato



    Originariamente inviato da lucisetti
    Grazie andr3a
    prego


    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577
    E come fare invece a trovare lo stesso risultato leggendo in un db MySQL direttamente con una istruzione SQL?

    Grazie

    Lucia

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da andr3a
    $data = Array( '2004-05-26', '2004-02-16', '2004-07-01', '2004-03-10' );
    sort( $data );
    reset( $data );
    $data = array_reverse( $data );
    echo $data[0];
    non facevi prima con un asort()?

    E come fare invece a trovare lo stesso risultato leggendo in un db MySQL direttamente con una istruzione SQL?
    select max(nomecampo) from nometabella

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577
    non posso usare il max() su 3 campi contemporaneamente...

    Cioè di un record che ha 3 date: data1, data2 e data3 devo poter trovare la data più grande.

    Lucia

  8. #8
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    ah.

    Allora fai così
    select greatest(campo1,campo2,campo3) from nometabella

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577
    GRAZIE !!!

    Lucia

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577
    Ciao Luca,

    ancora non ho risolto purtroppo...

    il problema è che devo estrarre da una tabella SOLO i records che hanno la data (tra quelle di cui abbiamo trovato la piu' grande prima) superiore della data corrente di 30 giorni.

    Mi spiego meglio:
    Data1 = 25/06/2004
    Data2 = 05/07/2004
    Data3 = 25/05/2004

    ... devo scegliere la più grande (quindi 05/07/2004)
    e poi devo aggiungere a questa 30 giorni (quindi diventa 04/08/2004) e devo infine controllare che la 04/08/2004 non sia superiore alla data corrente.
    Se è superiore devo estrarre il record interessato altrimenti no.

    Bella patata questa eh ...

    Grazie

    Lucia

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.