Projets de réservation problème par rapport aux dates
Posté : 25 déc. 2020, 18:10
Bonjour,
Tout d'abord merci a vous de prendre du temps pour m'aidez dans mon apprentissage.
Cela fait aujourd'hui 4 ou 5 jours que je n'arrive pas a débloqué un problème rassurez-vous j'ai vite laissé celui-ci de cotés mais en y revenant a peux près deux fois par jour je n'ai toujours pas trouvée la solution peut être sauriez vous m'éclairez sur ceux qui ne vas pas merci encore je vous mets rendue /problème puis enfin Codes soyez indulgents je suit plusieurs tutos pour bien comprendre en même temps les classes et les bonnes architecture a mettre en place...
https://drive.google.com/file/d/1iheBk2 ... sp=sharing
le problème est le suivant comme vous pouvez remarqué sur l'image les jours entre le 9 & et le 1 s'affiche comme étant disponible a la reservation dans ma condition pourtant j'indique bien une variable ayant comme date le jours actuelle et dans l'autre variable les jours du mois son var dump m'affiche bien les jours du 1 jusq'au 31
la condition est donc la suiivante if($date(jourdumois) < $datetoday(jour d'aujourd'hui) ){btn dépassé}
vous pouvez voir cette conditions dans mon codes sous cette forme dans mon code
if($date<$datetoday){
}
Tout d'abord merci a vous de prendre du temps pour m'aidez dans mon apprentissage.
Cela fait aujourd'hui 4 ou 5 jours que je n'arrive pas a débloqué un problème rassurez-vous j'ai vite laissé celui-ci de cotés mais en y revenant a peux près deux fois par jour je n'ai toujours pas trouvée la solution peut être sauriez vous m'éclairez sur ceux qui ne vas pas merci encore je vous mets rendue /problème puis enfin Codes soyez indulgents je suit plusieurs tutos pour bien comprendre en même temps les classes et les bonnes architecture a mettre en place...
https://drive.google.com/file/d/1iheBk2 ... sp=sharing
le problème est le suivant comme vous pouvez remarqué sur l'image les jours entre le 9 & et le 1 s'affiche comme étant disponible a la reservation dans ma condition pourtant j'indique bien une variable ayant comme date le jours actuelle et dans l'autre variable les jours du mois son var dump m'affiche bien les jours du 1 jusq'au 31
la condition est donc la suiivante if($date(jourdumois) < $datetoday(jour d'aujourd'hui) ){btn dépassé}
vous pouvez voir cette conditions dans mon codes sous cette forme dans mon code
if($date<$datetoday){
}
<?php
require_once('includes/Model.php');
$pageTitle = 'Planning';
require_once('includes/header.php');
function build($month, $year){
$models = new Model();
$bookings = $models->selectbooks($month, $year);
var_dump($bookings);
$daysOfWeek = ['Dimanche','Lundi', 'Mardi','Mercredi', 'Jeudi', 'Vendredi', 'Samedi'];
//setter
$firstDayOfMonth = mktime(0,0,0, $month,1,$year);
$numberDays = date('t', $firstDayOfMonth);
$dateComponents = getdate($firstDayOfMonth);
$monthName = $dateComponents['month'];
$dayOfWeek = $dateComponents['wday'];
//setter
//debug
// var_dump($nbrJour); var_dump($month); var_dump($this->jour);
$datetoday = date('Y-m-d');
$calendrier = "<table class='table table-bordered'>";
$calendrier.="<center><h2>$monthName $year</h2>";
$calendrier.="<a class='btn btn-xs btn-primary' href='?month=".date('m', mktime(0,0,0, $month-1,1,$year))."&year=".date('Y', mktime(0,0,0, $month-1,1,$year))."'>Mois dernier</a>";
// var_dump($calendrier);
$calendrier.="<a class='btn btn-xs btn-primary' href='?month=".date('m')."&year=".date('Y')."'>Ce mois ci</a>";
// var_dump($calendrier);
$calendrier.="<a class='btn btn-xs btn-primary' href='?month=".date('m', mktime(0,0,0, $month+1,1,$year))."&year=".date('Y', mktime(0,0,0, $month+1,1,$year))."'>Prochain mois</a></center></br>";
$calendrier.="<tr>";
foreach($daysOfWeek as $day){
$calendrier.= "<th class='header'>$day</th>";
}
$currentDay = 1;
$calendrier.= "</tr><tr>";
if ($dayOfWeek > 0) {
for ($k=0; $k < $dayOfWeek; $k++) {
$calendrier.="<td class='empty'></td>";
}
}
$month = str_pad($month, 2, "O", STR_PAD_LEFT);
while($currentDay <= $numberDays){
if ($dayOfWeek == 7) {
$dayOfWeek = 0;
$calendrier.="<tr></tr>";
}
$currentDayRel = str_pad($currentDay, 2, "O", STR_PAD_LEFT);
$date = "$year-$month-$currentDayRel";
$dayName = strtolower(date("l",strtotime($date)));
// var_dump($dayName);
$eventNum = 0;
// debugggg var_dump($dateDuJour);
// var_dump($date);
$today = $date == date('Y-m-d')?"today" : "";
if($date < $datetoday){
$calendrier.="<td><h4>$currentDay</h4><button class='btn btn-danger btn-xs'>Depassée</button>";
}
elseif(in_array($date, $bookings)){
$calendrier.="<td><h4>$currentDay</h4><button class='btn btn-danger btn-xs'>Reservé</button>";
}
else{
$calendrier.="<td class='$today'><h4>$currentDay</h4><a href='book.php?date=".$date."' class='btn btn-success btn-xs'>Reservée</a>";
}
$calendrier.="</td>";
$currentDay++;
$dayOfWeek++;
}
if ($dayOfWeek != 7) {
$restejour = 7-$dayOfWeek;
for ($i=0; $i < $restejour; $i++) {
$calendrier.="<td class='empty'></td>";
}
}
$calendrier.="</tr>";
$calendrier.="</table>";
echo $calendrier;
}
?>
<style>
.today{
background:yellow;
background-color: yellow;
}
</style>
<body class="text-center">
<center><main>
<h1 class="display-4">Bienvenue sur mon projet reservation salle</h1><br>
<br>
<?php
$infoPremierJour = getdate();
if(isset($_GET['month']) && isset($_GET['year'])){
$month = $_GET['month'];
$year = $_GET['year'];
}
else{
$month = $infoPremierJour['mon'];
$year = $infoPremierJour['year'];
}
echo build($month, $year);
?>
</main></center>
</body>
<?php
require_once('includes/footer.php');