Quote Originariamente inviata da Alhazred Visualizza il messaggio
Ti basta usare la funzione date() per sapere giorno e ora e poi usare questi dati in una struttura if/else.
Non serve nient'altro.
Grazie per il suggerimento, ho optato di operare in questo modo :

Codice PHP:
<?phpdate_default_timezone_set('Europe/Rome');

$giorno date("D");

$ora_attuale date("H");
$minuti_attuali date('i');

$min_tot= ($ora_attuale*60)+$minuti_attuali//Trasformo le ore in minuti per poter sommare i minuti dell'ora corrente

$arb "La Dottoressa riceve nello studio A";
$mar "La Dottoressa riceve nello studio M";
$closed "Lo studio è chiuso";

$lun_a_i 14*60//Orario di Lunedi "dalle 14 alle.... " moltiplicato per 60 minuti nello studio A
$lun_a_f 17*60// Orario di chiusura di Lunedi dello studio A

$lun_m_i = (17*60)+30//Orario di inizio dello studio B
$lun_m_f 20*60//Chiusura studio B

$mar_a_i 8*60// e così via
$mar_a_f 10*60;

$mar_m_i = (10*60)+30;
$mar_m_f 13*60;

$mer_a_i = (10*60)+30;
$mer_a_f 13*60;

$mer_m_i 16*60;
$mer_m_f 19*60;

$ven_a_i 8*60;
$ven_a_f 10*60;

$ven_m_i = (10*60)+30;
$ven_m_f 13*60;


switch (
$giorno) {
    case 
"Sun":
        echo 
$closed;
        break;

    case 
"Mon":   //lunedì

        
if ($min_tot >= $lun_a_i and $min_tot <= $lun_a_f){
            echo 
$arb;
        }
        elseif (
$min_tot >= $lun_m_i and $min_tot <= $lun_m_f){
            echo 
$mar;
        }
        break;

    case 
"Tue":

        if (
$min_tot >= $mar_a_i and $min_tot <= $mar_a_f){
            echo 
$arb;
        }
        elseif (
$min_tot >= $mar_m_i and $min_tot <= $mar_m_f){
            echo 
$mar;
        }
        break;

    case 
"Wed":
        if (
$min_tot >= $mer_a_i and $min_tot <= $mer_a_f){
            echo 
$arb;
        }
        elseif (
$min_tot >= $mer_m_i and $min_tot <= $mer_m_f){
            echo 
$mar;
        }
        break;

    case 
"Thu":
        echo 
$closed;
        break;

    case 
"Fri":
        if (
$min_tot >= $ven_a_i and $min_tot <= $ven_a_f){
            echo 
$arb;
        }
        elseif (
$min_tot >= $ven_m_i and $min_tot <= $ven_m_f){
            echo 
$mar;
        }
        break;

    case 
"Sat":
        echo 
$closed;
        break;

}
?>
lo script mi restituisce a video il messaggio $a o $b se le condizioni sono soddisfatte, ma nel caso volessi che mi restituisse $closed quando gli studi sono chiusi, cosa posso fare? Devo applicare un else alla fine di ogni ciclo if?

Codice PHP:
case "Mon":   //lunedì
        
if ($min_tot >= $lun_a_i and $min_tot <= $lun_a_f){
            echo 
$arb;
        }
        elseif (
$min_tot >= $lun_m_i and $min_tot <= $lun_m_f){
            echo 
$mar;
        } else echo 
$closed;
break; 
c'è un modo secondo te di snellire questo script?