Menù

Demo

Il si festeggia
  • aggiornato il 01/02/2025 14:41:12

Top 5

Santi del giorno

La funzione cerca sul database i santi del giorno passato come parametro. La tabella dei santi è stata generata da un file ics disponibile a questo indirizzo. La tabella sql generata, grazie ad un ciclo php ( che purtroppo ho perso ), è disponibile qui.

Posto la pagina completa commentata.

<?php
// se non ricevo il giorno dal form imposto quello attuale
$giorno = isset($_POST['giorno']) && is_numeric($_POST['giorno']) ? $_POST['giorno'] : date('d');
// se non ricevo il mese dal form imposto quello attuale
$mese = isset($_POST['mese']) && is_numeric($_POST['mese']) ? $_POST['mese'] : date('m');
// array con i nomi dei mesi in italiano
$mesi = array(1, 'Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto',
    'Settembre', 'Ottobre', 'Novembre', 'Dicembre'); 
// dichiaro la funzione
function santo_del_giorno($giorno, $mese) {
    // verifico la data
    if (!checkdate($mese, $giorno, date("Y"))) {
	   // data non valida esco
	   return "non è una data valida!";
    }
    // mi connetto al database
    $sql = new mysqli("localhost", "root", "password", "database");
    // query sulla tabella dei santi
    $query = "SELECT santi FROM tutti_santi WHERE giorno = $giorno && mese = $mese";
    // esecuzione della query
    $result = $sql->query($query);
    // se non ci sono errori
    if ($result) {
	   // estraggo e restituisco il risultato
	   $row = $result->fetch_assoc();
	   return " si festeggia<br/>" . $row["santi"];
    }
    // chiudo la connessione
    $sql->close();
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
    Il 
    <select name="giorno" onchange="this.form.submit()">
	   <?php
	   for ($i = 1; $i < 32; $i++) {
		  $i = str_pad($i, 2, '0', STR_PAD_LEFT);
		  echo "<option value='$i'";
		  if ($giorno == $i)
			 echo " selected='selected'";
		  echo ">$i</option>
";
	   }
	   ?>
    </select> 
    <select name="mese" onchange="this.form.submit()"> 
	   <?php
	   for ($x = 1; $x < 13; $x++) {
		  $xx = str_pad($x, 2, '0', STR_PAD_LEFT);
		  echo "<option value='$xx'";
		  if ($mese == $x) {
			 echo " selected='selected'";
		  }
		  echo ">$mesi[$x]</option>
";
	   }
	   ?>
    </select>	 
</form>
<?php
$santi_del_giorno = santo_del_giorno($giorno, $mese);
echo $santi_del_giorno;

criric

Mi sono appassionato di programmazione web a 34 anni, un pò tardi, da allora però non perdo mai occasione per imparare qualcosa di nuovo in questi campi.

Javascript - Html - Css - Php - Mysql

Inserisci un commento

Codice antispam

Categorie

Comunicazioni

Puoi utilizzare questo modulo per qualsiati tipo di segnalazione.

Codice antispam

 

I dati di questo modulo non verranno pubblicati.