Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Confronto ora e minuti

  1. #1

    Confronto ora e minuti

    Gentile Team
    ho una tabella che contiene l'ora così scritta 07:45 e la data così scritta 25/10/2017

    devo permettere all'utente di modificare quel record fino ad un ora prima di quell'ora e quella data
    ed avevo pensato ad una cosa così:

    codice:
    $ora_ticket=$row['ora_partenza_tick'];
    $data_partenza_tick=$row['data_partenza_tick'];
    $ora_attuale=date("H:m");
    $data_attuale=date("d/m/Y");
    if ($ora_attuale < $ora_ticket || $data_attuale <= $data_partenza_tick){ 
    ?> 
    puoi cambiare
    <?php 
     }else{  
    ?> 
    non puoi cambiare
    <?php  
    } 
    ?>
    ma ho due problemi...uno non funziona fino ad un'ora prima ma anche fino ad 1 minuto prima...
    due... se l'ora attuale è 19:50 sarà sempre maggiore di 07:45
    e quindi la modifica non me la farà mai fare nonostante sia abbondantemente un giorno prima

    come posso risolvere?
    grazie mille
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Prima di fare "appiccichi nel codice" a causa della scelta sfortunata dei campi del db, se puoi fare modifiche, anche se ci volesse tempo e fosse necessario modificare il codice in molte parti: usa assolutamente un campo DATETIME, così col formato aaaa-mm-gg hh:mm:ss i confronti si fanno in un attimo.

  3. #3
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Se non puoi cambiare il db, come ben suggerito da Alhazred, puoi fare:

    Codice PHP:
    $datetime str_replace('/''-'$row['data_partenza_tick'].' '.$row['ora_partenza_tick']);
    $totime strtotime($datetime);

    if((
    $totime time()) > 3600){
       echo 
    "puoi cambiare";


  4. #4
    Quote Originariamente inviata da boots Visualizza il messaggio
    Se non puoi cambiare il db, come ben suggerito da Alhazred, puoi fare:

    Codice PHP:
    $datetime str_replace('/''-'$row['data_partenza_tick'].' '.$row['ora_partenza_tick']);
    $totime strtotime($datetime);

    if((
    $totime time()) > 3600){
       echo 
    "puoi cambiare";


    grazie a tutti, funziona benissimo... l'ora e la data non potevano essere modificate perche presenti in un db esterno che gestiva separatamente come varchar
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

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.