Visualizzazione dei risultati da 1 a 7 su 7

Discussione: if else in base all'orario

  1. #1
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,423

    if else in base all'orario

    Ciao a tutti

    vorrei poter fare un ciclo if else in base all'orario del server

    Mi spiego meglio
    In pratica vorrei che dalle ore 21 alle ore 09 del mattino sia visibile uno sconto su una tariffa pubblicata in modo da incentivare le vendite notturne.

    In che modo potrei fare qualcosa del genere?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,423
    sto provando qualcosa del genere ma non va, perche' non logicamente attualmente sono le ore 19:00 ed il numero è maggiore di 09:00

    Codice PHP:
    date_default_timezone_set('Europe/Rome');$orario_attuale=date("H:i:s");$ore21="21:00:00";$ore9="09:00:00";echo"$orario_attuale<br><br>";

    if ((
    $orario_attuale $ore21) && ($orario_attuale $ore9)){echo"sconto 10%";}else{echo"nessuno sconto";} 

  3. #3
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,423
    questa soluzione potrebbe essere corretta? o è troppo complessa?
    Codice PHP:
    if (($orario_attuale "21:00:00") && ($orario_attuale "23:59:59")&&($orario_attuale>"00:00:00")&&($orario_attuale<"09:00:00")){echo"sconto 10%";}else{echo"nessuno sconto";} 

  4. #4
    Codice PHP:
    $my_current_date=date('H',time());
    $range=range(0,23);
    $active=[9,21];
    $show=FALSE;
    foreach(
    $range as $item){
          if(
    $item<=$active[0] || $item>=$item[1]){
                 if(
    intval($my_current_date)==$item)$show=TRUE;
          }
    }

    if(
    $show){
       
    ///visualizzo quello che serve

    É bruttina ma funzionale....

  5. #5
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,423
    non ho capito, il range è da 0 a 23?
    Attivo invece da 9 a 21?

  6. #6
    range 0-23 crea l'array con 24 elementi esattamente 0,1,2,3,4,5,6,7,8,9,etc...

    $active indica gli orari in cui non visualizzare lo sconto.... "ee.... lo so scusa per la dichiarazione di variabile" sarebbe inactive....

    Altro modo, più semplice!...

    Codice PHP:

    if(date('H',time())>=&& date('H',time())<=21){
       
    //non lo faccio vedere
    }else //lo faccio vedere... 

  7. #7
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,423
    ho risolto in questo modo, bene o male seguendo il tuo ultimo consiglio

    Codice PHP:
    date_default_timezone_set('Europe/Rome');
    $hours=date('H',time());if (($hours<9) || ($hours>=21)){echo"<br>sconto 10%";}else{echo"<br>nessuno sconto";} 

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