1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| <?php
if (isset($_POST['date_debut'],$_POST['date_fin'],$_POST['date_fin_fin']))
{
$date_debut = $_POST['date_debut'];
$date_fin = $_POST['date_fin'];
$date_fin_fin = $_POST['date_fin_fin'];
//on regarde c'est quel jour de la semaine pour date debut et date fin
$jourdebut = date("l", strtotime($date_debut));
$jourfin = date("l", strtotime($date_fin));
//on va chercher tous les jours entre date_debut et date_fin_fin qui correspondent aux deux jours de la semaine
$date_debut2 = new DateTime(implode(' ', [$_POST['date_debut'], empty($_POST['time_debut']) ? '12:00' : $_POST['time_debut']]));
//on définit la date de fin avec un jour de plus pour qu'il inclut la date de fin
$date_retour3 = new DateTime(''.$_POST['date_fin_fin'].' +1 day');
$date_retour3 = $date_retour3->format('Y-m-d');
$date_fin_fin2 = new DateTime(implode(' ', [$date_retour3, empty($_POST['time_fin']) ? '12:00' : $_POST['time_fin']]));
//on définit l'intervalle
$interval = new DateInterval('P1D');
$periode = new DatePeriod($date_debut2, $interval, $date_fin_fin2) ;
$tableau = [];
$tableau2 = [];
foreach ($periode as $dateeee) {
if ($dateeee->format('l') == $jourdebut)
{
echo '<br />';
echo $dateeee->format('d-m-Y');
echo '<br />';
$tableau[] = $dateeee->format('Y-m-d');
}
if ($dateeee->format('l') == $jourfin)
{
echo '<br />';
echo $dateeee->format('d-m-Y');
echo '<br />';
$tableau2[] = $dateeee->format('Y-m-d');
}
}//fin foreach periode as dateeee
foreach ($tableau as $lesdebuts)
{
foreach ($tableau2 as $lesfins)
{
$stmt = $bdd->prepare('INSERT INTO test_dates (date_debut,date_fin) VALUES(:date_debut,:date_fin)');
$stmt->execute(array(':date_debut' => $lesdebuts,':date_fin' => $lesfins));
}
}
} //fin if (isset |
Partager