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

Uxon-Studio Messages postés 13 Date d'inscription mardi 12 septembre 2017 Statut Membre Dernière intervention 21 février 2018 - 28 nov. 2017 à 23:31
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 29 nov. 2017 à 22:29
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

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
29 nov. 2017 à 21:22
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.

0
Uxon-Studio Messages postés 13 Date d'inscription mardi 12 septembre 2017 Statut Membre Dernière intervention 21 février 2018
Modifié le 29 nov. 2017 à 21:46
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!
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
29 nov. 2017 à 21:42
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
0
Uxon-Studio Messages postés 13 Date d'inscription mardi 12 septembre 2017 Statut Membre Dernière intervention 21 février 2018
29 nov. 2017 à 22:03
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
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344 > Uxon-Studio Messages postés 13 Date d'inscription mardi 12 septembre 2017 Statut Membre Dernière intervention 21 février 2018
29 nov. 2017 à 22:29

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.
0
Rejoignez-nous