Vérification date sur 3 colonnes et horaire sur 3 colonnes

cs_eli42 Messages postés 143 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 juillet 2023 - 9 nov. 2019 à 19:20
cs_eli42 Messages postés 143 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 juillet 2023 - 12 nov. 2019 à 20:00
Bonjour les codeurs

J'ai un agenda ou on peut réserver de 1 à 3 places sur la même tranche horaires ou jusqu'à 3 dates différente, certain s'endorme sur leur clavier et valide beaucoup plus tard, donc je suis obligé de vérifier que les places et les dates que l'utilisateur a sélectionné sont toujours libre.

Mes vérifications pour 1 à 3 place sur le même jour no problème
Mais dès que je sélectionne 2 ou 3 dates panique à bord

Exemple : il reste :
le 09/11/2019 2 places à 10h
le 10/11/2019 1 place à 10h

Ça me renvoi le 09/11/2019 3 places de prise

echo "<script>Alert('Un coup de pouce ne serait pas du refus');</script>";

// mise a zero des horaire et nombre de place occupe
for ($horaire = 1; $horaire <= 24; $horaire++) {   
$place[$horaire]  = 0;$nbr[$horaire]  = 0;
}

$sqldate  = "((DAT1='$dat1' and HR1='$hr1') or (DAT2='$dat1' and HR2='$hr1') or (DAT3='$dat1' and HR3='$hr1')) or ";
$sqldate .= "((DAT1='$dat2' and HR1='$hr2') or (DAT2='$dat2' and HR2='$hr2') or (DAT3='$dat2' and HR3='$hr2')) or ";
$sqldate .= "((DAT1='$dat3' and HR1='$hr3') or (DAT2='$dat3' and HR2='$hr3') or (DAT3='$dat3' and HR3='$hr3')) ";

$sql  = "SELECT heure,count(*) AS nbr"
$sql .= " FROM (SELECT HR1 AS heure FROM simulateur WHERE IDAERO='$idaero' and $sqldate";
$sql .= " UNION ALL SELECT HR2 FROM simulateur WHERE IDAERO='$idaero' and $sqldate";
$sql .= " UNION ALL SELECT HR3 FROM simulateur WHERE IDAERO='$idaero' and $sqldate)";
$sql .= " AS simulateur GROUP BY heure";

$i = 0;
$sql  = $pdo->query($sql);
$sql->setFetchMode(PDO::FETCH_OBJ);
while ($row = $sql->fetch()){
$i++;
$place[$i] = $row->heure; // Horaire
$nbr[$i]   = $row->nbr;   // nombre de place occupe
}

// resultat tranche horaire et nombre de place occupe
for ($horaire = 1; $horaire <= 24; $horaire++) {
echo $place[$horaire]  .' : '.$nbr[$horaire]. '<br>';
}



--

1 réponse

cs_eli42 Messages postés 143 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 juillet 2023 1
12 nov. 2019 à 20:00
Bonjour tous les codeurs

Vu à la foule de réponse à mon problème, j'ai du modifier mon calendrier
J'ai remplace les 6 colonnes
- DAT1,HR1,DAT2,HR2,DAT3,HR3
Par
DAT1,DAT2,DAT3 (ymdhi)
Et je n'ai plus de problème
0
Rejoignez-nous