Tabella con data inizio e data fine. Come estrarre record per ogni data?
Ciao ragazzi, non so quanto il titolo possa essere intuitivo, ma cercherò di spiegarmi meglio.
Ho creato un database con 2 tabelle
tabella_eventi che contiene i seguenti campi: evento / descrizione / start_data / end_data / qta
dove start_data indica la data di inizio di tale avvenimento ed end_data ovviamente la data della sua fine
qta indica la quantità di biglietti disponibili per l'evento
tabella_prenotazione dove ho inserito i campi: nome / mail / telefono / evento / data / qta
dove evento riporterà lo stesso dato della colonna precedente, data riporterà la data attuale e qta il numero di biglietto prenotati.
Ora, avendo queste 2 tabelle ho creato una pagina in cui ho inserito un calendario perpetuo che mi dovrebbe permettere di cliccare su ogni data e aprire o un'altra pagina o ancora meglio riportare sotto lo stesso calendario gli eventi disponibili per la data selezionata.
Ecco, il mio problema, su cui finora non ho trovato altri post, è: come posso interrogare la tabella_eventi affinché quando seleziono una data sul calendario mi cicli tutti gli eventi disponibili per tale data?
E poi come lo lego a questo codice? (il codice del calendario)
Codice PHP:
<?php
function ShowCalendar($m,$y)
{
if ((!isset($_GET['d']))||($_GET['d'] == ""))
{
$m = date('n');
$y = date('Y');
}else{
$m = (int)strftime( "%m" ,(int)$_GET['d']);
$y = (int)strftime( "%Y" ,(int)$_GET['d']);
$m = $m;
$y = $y;
}
$precedente = mktime(0, 0, 0, $m -1, 1, $y);
$successivo = mktime(0, 0, 0, $m +1, 1, $y);
$nomi_mesi = array(
"Gen",
"Feb",
"Mar",
"Apr",
"Mag",
"Giu",
"Lug",
"Ago",
"Set",
"Ott",
"Nov",
"Dic"
);
$nomi_giorni = array(
"Lun",
"Mar",
"Mer",
"Gio",
"Ven",
"Sab",
"Dom"
);
$cols = 7;
$days = date("t",mktime(0, 0, 0, $m, 1, $y));
$lunedi= date("w",mktime(0, 0, 0, $m, 1, $y));
if($lunedi==0) $lunedi = 7;
echo "<table>\n";
echo "<tr>\n
<td colspan=\"".$cols."\">
<a href=\"?d=" . $precedente . "\"><<</a>
" . $nomi_mesi[$m-1] . " " . $y . "
<a href=\"?d=" . $successivo . "\">>></a></td></tr>";
foreach($nomi_giorni as $v)
{
echo "<td><b>".$v."</b></td>\n";
}
echo "</tr>";
for($j = 1; $j<$days+$lunedi; $j++)
{
if($j%$cols+1==0)
{
echo "<tr>\n";
}
if($j<$lunedi)
{
echo "<td> </td>\n";
}else{
$day= $j-($lunedi-1);
$data = strtotime(date($y."-".$m."-".$day));
$oggi = strtotime(date("Y-m-d"));
include 'config.php';
$sql = "SELECT * FROM tabella_eventi";
$result = mysql_query($sql) or die (mysql_error());
if(mysql_num_rows($result) > 0)
{
while($fetch = mysql_fetch_array($result))
{
$str_data = $fetch['str_data'];
if ($str_data == $data)
{
$day = "<a href=\"calendario.php?day=$str_data\">$day</a>";
}
}
}
if($data != $oggi)
{
echo "<td>".$day."</td>";
}else{
echo "<td><b>".$day."</b></td>";
}
}
if($j%$cols==0)
{
echo "</tr>";
}
}
echo "<tr></tr>";
echo "</table>";
}
ShowCalendar(date("m"),date("Y"));
?>