Bene...finalmente ci sono riuscito... adesso però vorrei evitare di usare $_GET per vari motivi:
1) così come l'ho scritto è soggetto a sql injection
2) I vari url verranno salvati nel browser con possibilità di confusione dell utente
3) il refresh non resetta la variabile
Come potrei ottenere una cosa decente?
Ovviamente questo codice non tiene conto degli anni successivi (cosa che metterò a posto successivamente).
Grazie sempre per l'enorme disponibiità
//Se la variabile $_GET['var1'] non è settata utilizza il numero del mese attuale
if (!isset($_GET['var1'])) {$_GET['var1']=date("n");}
//Trasforma il numero del mese nel nome corrispondente
$mese = strftime('%B', mktime(0, 0, 0, $_GET['var1']));
//Estrai l'anno
$anno = strftime("%Y", mktime(0, 0, 0, $_GET['var1']));
//Numero del primo giorno del mese (da 1 a 7)
$PrimoGiornoDelMese= date('N',mktime(0, 0, 0, date($_GET['var1']), 1));
$query = $pdo->query("SELECT * FROM $tabella_calendario WHERE YEAR(Data) = YEAR(CURDATE()) AND MONTH(Data) = ".$_GET['var1']);
?>
<div class="contenitore">
<div class="month">
<ul>
<li><a class="prev round" onclick="decNumber()">❮</a></li>
<li><a class="next round" onclick="incNumber()">❯</a></li>
<li style="font-size: 40px">TURNI <?php echo $mese, $anno;?>
</li>
</ul>
</div>
<input type="hidden" id="text"/>
<script type="text/javascript">
var i = <?php echo $_GET['var1']; ?>;
function incNumber() {
if (i < 12) {i++;}
else if (i = 12) {}
document.getElementById("text").value = i;
window.location.replace('index.php?var1=' + document.getElementById('text').value); }
function decNumber() {
if (i > 1 ) {--i;}
else if (i = 1) {}
document.getElementById("text").value = i;
window.location.replace('index.php?var1=' + document.getElementById('text').value);}
</script>
<ul class="weekdays"> <li>Lun</li> <li>Mar</li> <li>Mer</li> <li>Gio</li> <li>Ven</li> <li>Sab</li> <li>Dom</li>/ul>
<ul class="days">
<?php
//Crea gli spazi in base al primo giorno del mese
echo str_repeat('<li></li>', $PrimoGiornoDelMese - 1);
//Mostra gli elementi che mi servono
foreach ($query as $o) {
$data = strftime("%e", strtotime($o['Data']));
echo "<li>",$data,"<br>",$o['elemento'],"</li>";
}?>