Gestion Plage horaire en PHP / SQL : tant de personnes par /5min

Signaler
Messages postés
13
Date d'inscription
mardi 12 septembre 2017
Statut
Membre
Dernière intervention
21 février 2018
-
Messages postés
29757
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 octobre 2020
-
Olà (Deuxièmes fois aujourd'hui) , J'ai fini mon projet de commande en ligne pour le food truck etc etc , il me manque une toute toute toute dernière étape (Enfin)!

Question:

Comment puis-je faire pour qu'à la fin du formulaire, une fois l'article choisi, la sauce, l'options etc, le client puisse choisir l'heure de sa commande? MAIS! Le tout évidement est de contrôlé que dans la tranche horaire "12h00-12h05" il reste de la place (exemple 3 places)!

1) Je dois créer mes plages horaires globale disponible midi/soir de tel heure à tel heure.

2) J'affiche c'est horaires sur la page shop.php du client, là ou Mr, Mme clic.

3) Quand Mr, Mme clic pour 12h05 , je rentre dans la BDD +1 à l'horraire 12h00-12h05 ?

4) Si la tranche horaire 12h00-12h05 est pleine (3 places donc), je n'affiche plus cette tranche horaire sur la page shop.php des autres clients...

Est-ce que je peut tout faire en php/sql ? Sachant qu'il y vraiment bcp de monde le midi au food truck, si 5 personne commande en même temps sur le site pour 12h00-12h05 ça vas merdé?

Merci à tout ceux qui mon rep depuis mes 3 ou 4 questions ici, et merci à ceux qui répondront ici aussi, salut bye! Alex.

1 réponse

Messages postés
29757
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 octobre 2020
338
Bonjour,

Que penses tu de cette requête :
SELECT P.id
		,P.heure_deb
		,P.heure_fin
		,count(C.id_commande) as NB_CMD
FROM plage P
LEFT JOIN cmd C ON C.id_plage = P.id
GROUP BY ((P.heure_deb) DIV 5 )




De là ... facile de trouver comment faire ....


NB : Tu constateras que je n'ai jamais stocké le NOMBRE de commande en BDD ... je le calcul directement.

Messages postés
13
Date d'inscription
mardi 12 septembre 2017
Statut
Membre
Dernière intervention
21 février 2018

Ola, merci merci, juste pour te dire que j'ai bien vue ta réponse! Maintenant j’essaye de tout comprendre avant de revenir vers toi! a++

EDIT

Ok je viens de comprendre le système! Super, vraiment! Merci, Jordane45, toi derrière ton écrans, qui m'aura bien aidé pour plusieurs questions... Bye mec!
Messages postés
29757
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 octobre 2020
338
Je me suis enflammé...
Tu peux simplement compter par rapport à ton nombre de plages
SELECT P.id
		,P.heure_deb
		,P.heure_fin
		,count(C.id_commande) as NB_CMD
FROM plage P
LEFT JOIN cmd C ON C.id_plage = P.id
GROUP BY (P.id )


Et si tu n'a pas défini de plages horaires (comme tu parlais de le faire dans un précédent message....) mais que tu veux te baser directement sur une colonne "heure" dans ta table commande, tu pourrais faire un truc du genre
SELECT DATE_FORMAT(from_unixtime(UNIX_TIMESTAMP(C.heure)),'%H:%i')  as PH
		,COUNT(C.id_commande) as NB
FROM  cmd C 
GROUP BY UNIX_TIMESTAMP(C.heure) DIV 300
Messages postés
13
Date d'inscription
mardi 12 septembre 2017
Statut
Membre
Dernière intervention
21 février 2018

Ouais je vais faire des tests et voir en tout cas, le truc c'est juste que je dois définir des horaires. Un client dois clic sur une horaire proposé (donc affiché dynamiquement, donc où il reste de la place) et bim, tel client a tel horaire. Basta .. Je me demande comment font les autres petit commerce de ce genre
Messages postés
29757
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 octobre 2020
338 >
Messages postés
13
Date d'inscription
mardi 12 septembre 2017
Statut
Membre
Dernière intervention
21 février 2018


Le truc c'est juste que je dois définir des horaires

Oui c'est le point de départ.


Un client dois clic sur une horaire proposé (donc affiché dynamiquement, donc où il reste de la place)

Facile... avec la requête que je t'ai donné... tu ne prend que les plages qui n'ont pas encore atteins le maximum


Je me demande comment font les autres petit commerce de ce genre

Comme toi....ils codent... ou payent quelqu'un pour le faire.