Fonction disponibilité de l'heure Php/Mysqli

Résolu/Fermé
Cassie691 Messages postés 35 Date d'inscription mardi 15 septembre 2015 Statut Membre Dernière intervention 6 juillet 2020 - Modifié par Cassie691 le 15/09/2015 à 08:22
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 16 sept. 2015 à 09:34
Bonjour,

Voila mon problème, je cherche à faire un espace de réservation mais seulement avec les heures ! Par exemple: (Sachant qu'un rendez-vous est de 1H)

- Monsieur Dupond veut réserver le 29/12 à 9H30 -> OK
- Madame Duval veut réserver le 29/12 à 10H -> NON ! Le RDV de Dupond est la!
- Madame Duval veut donc réserver le 29/12 à 10H31 -> Oui le RDV de Dupond est terminé !

J'ai donc commencé ca !

$lheure = $_POST['heure']; // L'heure que le client souhaite !
$lheure2 = date("Hi", strtotime("+60 minutes", strtotime($lheure))); // J'ajoute 60min du temps pour le rendez vous


J'ajoute déjà ça dans la base de données, j'ai donc l'heure du RDV et l'heure du RDV avec 60 minutes en plus.
(9H30 et 10H30).

Ce que je veut faire, c'est qu'un nouveau client ne peut pas réserver de 9H30 à 10H30.


je vous remercie d'avance pour vos réponses
n'hésitez pas si vous avez des questions :)
A voir également:

1 réponse

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
15 sept. 2015 à 10:33
Salut,

La conception est assez simple :
1. Lorsque le visiteur envoie l'heure de rdv qu'il souhaite, on fait une requête sql pour chercher les rdv enregistrés à la même heure.
Un exemple pour la requête : https://sql.sh/cours/where/between

2. Si la requête retourne un résultat, on indique au visiteur que cette heure est déjà prise et on lui propose un nouveau choix. Si la requête ne retourne aucun résultat, on enregistre le rdv.

Une autre façon de faire serait également de proposer au visiteur uniquement les heures de rdv qui sont libres.

Bonne journée
0
Merci pour ta réponse !
J'ai regarder sur le lien et si j'ai bien compris je devrais faire :
Heure du RDV du client: 10:00
Donc le RDV sera terminer à 11:00.

SELECT *
FROM utilisateur
WHERE heure BETWEEN `10:00' AND `11:00' ?
J'ai vraiment du mal ..
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
15 sept. 2015 à 12:35
Oui c'est l'idée mais il faut que tu gères la date complète avec le jour. Comment sont enregistrées tes dates en bdd ?
0
Cassie691 Messages postés 35 Date d'inscription mardi 15 septembre 2015 Statut Membre Dernière intervention 6 juillet 2020 5
15 sept. 2015 à 12:53
$query = "SELECT lheure FROM resa WHERE lheure BETWEEN '11:00' AND '12:00' AND date='15-09-2015";
$result=mysqli_query($db,$query);
if($result === false) {
    echo "AUCUNE RESERVATION";
}


Via PhpMyAdmin en passant direct par Mysql le code:
SELECT lheure FROM resa WHERE lheure BETWEEN '11:00' AND '12:00' AND date='15-09-2015"
Fonctionne sans problème il va bien afficher les enregistrements entre 11H et 12H mais
avec le code php au dessus ça ne fonctionne pas pourtant aucune erreurs ..
Je te remercie
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
15 sept. 2015 à 14:07
Il manque un guillemet simple pour fermer la valeur date dans ton code php :
$query = "SELECT lheure FROM resa WHERE lheure BETWEEN '11:00' AND '12:00' AND date='15-09-2015'";
0
Cassie691 > Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022
15 sept. 2015 à 23:33
Mauvaise manipulation du copié/collé même avec la guillemet ça ne fonctionne pas j'ai l'impression qui me sort un résultat vide ..
0