Per fare questo possiamo utilizzare l'istruzione switch di PHP che controlla il verificarsi di più condizioni, effettuando il confronto tra il valore effettivo di una variabile e i diversi casi previsti. Prevede anche un blocco di codice che verrà eseguito se nessuna delle condizioni poste è verificata:
switch (<valore_da_esaminare>){
case <valore1-da-confrontare>:
<codice> //codice da eseguire se il valore da esaminare coincide con il valore indicato in case
break; //istruzione che ferma l'esecuzione del codice
case <valore2-da-confrontare>:
<codice>
break;
default:
<codice> //codice da eseguire se nessuno dei casi precedenti è verificato
break;
}
Per la demo abbiamo scelto uno stile vintage: la programmazione giornaliera di un ipotetico cinema retrò. Per verificarne il corretto funzionamento dovete guardarla assolutamente tutti i giorni per una settimana intera :) Questo il codice PHP utilizzato:
<?php
$oggi = date ("w");
switch ($oggi){
case 0:
$imgweek = "img-domenica.ext";
break;
case 1:
$imgweek = "img-lunedi.ext";
break;
case 2:
$imgweek = "img-martedi.ext";
break;
case 3:
$imgweek = "img-mercoledi.ext";
break;
case 4:
$imgweek = "img-giovedi.ext";
break;
case 5:
$imgweek = "img-venerdi.ext";
break;
case 6:
$imgweek = "img-sabato.ext";
break;
}
$altimg = str_replace('-', ' ', substr($imgweek, 0, -4));
?>
La funzione date(w) restituisce il numero corrispondente al giorno della settimana (0 domenica, 1 lunedì, 2 martedì...) che viene assegnato alla variabile $oggi.L'istruzione switch valuta il valore di $oggi e, in base ad esso, assegna alla variabile $imgweek il nome del file immagine che si intende visualizzare.
La variabile $altimg contiene il valore che verrà assegnato all'attributo alt: esso viene ottenuto dal nome del file immagine privo di estensione (substr($imgweek, 0, -4)) sostituendo il carattere usato come separatore (in questo caso -) con uno spazio ed eliminando l'estensione del file. Per utilizzare in modo corretto questa variabile, è opportuno scegliere, per ogni file immagine, un nome significativo, contenente un carattere separatore univoco.
Il tag <img> acquisisce quindi in modo dinamico sia il valore dell'attributo src che quello dell'attributo alt:
<img alt="<?php echo $altimg; ?>" src="cartella/<?php echo $imgweek; ?>" />
Per approfondire l'argomento:

Nessun commento:
Posta un commento
Nota. Solo i membri di questo blog possono postare un commento.