Buonasera a tutti,
volevo chiedervi un parere sul mio primo file php!
Sto iniziando a studiare questo linguaggio da qualche giorno; in particolare avrei bisogno di un "meccanismo" per verificare la disponibilità delle stanze di un piccolo B&B.
Diciamo che per adesso, dopo qualche bestemmiuccia qua e la, funziona! Solo che non riesco a pensare ad un modo per rilevare un caso di "intersezione" di date, cioè faccio un esempio:
stanza prenotata dal 16 ago al 4 sett; per il momento, come noterete, le risposte sono:
- occupato: se seleziono un arco di tempo dentro quel periodo;
- libero: se seleziono archi di tempo precedenti o successivi a quel periodo;
Domanda:
se nel form inserisco che voglio la stanza dal 1 ago al 20 ago come faccio a fargli dire che " tra il periodo selezionato c'è un'altra prenotazione"?
C'è qualche variante o, scusate ma non so come si possa chiamare, qualche funzione specifica di php per fare tutto questo?
Qualcosa del tipo: "la stanza è prenotata dal 1 al 10, se (selezioni una fascia di tempo tra 1 e 10) {echo...ecc;}"?
Questo è l'html se può interessare
Suggerimenti?
Grazie
volevo chiedervi un parere sul mio primo file php!
PHP:
<?php
if (($_POST['giorni_in'])>=16 && ($_POST['mesi_in'])>=8 && ($_POST['giorni_out'])<=4 && ($_POST['mesi_out'])<=9)
{
echo "...occupata";
}
// condizione data precedente a quella occupata nel mese del check_in
if (($_POST['giorni_in'])<16 && ($_POST['mesi_in'])==8 && ($_POST['giorni_out'])<16 && ($_POST['mesi_out'])==8)
{
echo "...libera";
}
// condizione data successiva a quella occupata nel mese del check_out
if (($_POST['giorni_in'])>4 && ($_POST['mesi_in'])==9 && ($_POST['giorni_out'])>4 && ($_POST['mesi_out'])==9)
{
echo "...libera";
}
// condizione data precedente a quella occupata in tutti i mesi
if (($_POST['giorni_in'])>=1 && ($_POST['mesi_in'])<8 && ($_POST['giorni_out'])>=1 && ($_POST['mesi_out'])<8)
{
echo "...libera";
}
// condizione data successiva a quella occupata in tutti i mesi
if (($_POST['giorni_in'])>=1 && ($_POST['mesi_in'])>9 && ($_POST['giorni_out'])>=1 && ($_POST['mesi_out'])>9)
{
echo "...libera";
}
/*else{
echo "...potrebbe esserci un periodo prenotato tra la data di check-in e quella di check-out!";
}*/
?>
Diciamo che per adesso, dopo qualche bestemmiuccia qua e la, funziona! Solo che non riesco a pensare ad un modo per rilevare un caso di "intersezione" di date, cioè faccio un esempio:
stanza prenotata dal 16 ago al 4 sett; per il momento, come noterete, le risposte sono:
- occupato: se seleziono un arco di tempo dentro quel periodo;
- libero: se seleziono archi di tempo precedenti o successivi a quel periodo;
Domanda:
se nel form inserisco che voglio la stanza dal 1 ago al 20 ago come faccio a fargli dire che " tra il periodo selezionato c'è un'altra prenotazione"?
C'è qualche variante o, scusate ma non so come si possa chiamare, qualche funzione specifica di php per fare tutto questo?
Qualcosa del tipo: "la stanza è prenotata dal 1 al 10, se (selezioni una fascia di tempo tra 1 e 10) {echo...ecc;}"?
Questo è l'html se può interessare
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
</head>
<body>
<form name="modulo" action="elabora_form.php" method="post">Dal
<select name="giorni_in">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="mesi_in">
<option value="1">Gennaio</option>
<option value="2">Febbraio</option>
<option value="3">Marzo</option>
<option value="4">Aprile</option>
<option value="5">Maggio</option>
<option value="6">Giugno</option>
<option value="7">Luglio</option>
<option value="8">Agosto</option>
<option value="9">Settembre</option>
<option value="10">Ottobre</option>
<option value="11">Novembre</option>
<option value="12">Dicembre</option>
</select>
al:<select name="giorni_out">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="mesi_out">
<option value="1">Gennaio</option>
<option value="2">Febbraio</option>
<option value="3">Marzo</option>
<option value="4">Aprile</option>
<option value="5">Maggio</option>
<option value="6">Giugno</option>
<option value="7">Luglio</option>
<option value="8">Agosto</option>
<option value="9">Settembre</option>
<option value="10">Ottobre</option>
<option value="11">Novembre</option>
<option value="12">Dicembre</option>
</select>
<input name="verifica" type="submit" value="submit" />
</form>
</body>
</html>
Suggerimenti?
Grazie