Input avec envoi de commande

Petit nouveau ! | 3 Messages

17 juin 2019, 10:18

Bonjour,
Je suis actuellement en formation de dev et on est sur le projet de fin de diplôme mais on a pas de formateur du coup j'ai un peu de mal à savoir vers où m'orienter..

Je suis sur un projet de commande en restauration et j'ai plusieurs tables : Cake, Soupe et Dessert ainsi qu'une table Commande.
Et j'aimerai créer des inputs radios pour renvoyer la commande voulu mais je pense qu'il faut que je crée une autre table Sélection de commande qui serai relié à la table Commande avec une jointure non ? Je me perds un peu c'est pour ça je préfère demander de l'aide pour être sur !

J'espère que vous pourrez m'aider :)
Merci à vous !

Avatar du membre
Mammouth du PHP | 1609 Messages

17 juin 2019, 11:40

Salut, tout à fait, il faut que tu ais une table pour faire la liaison entre la commande et les différents plats dans laquelle tu ajouteras une ligne pour chaque plat commandé avec l'id de la commande et l'id du plat. Le fait que tu ais plusieurs tables pour tes plats complique un peu cette table de liaison mais ça n'est pas bloquant. Tu pourrais faire une table commande_id, plat_id, table_plat, quantite. La colonne table_plat te permettant de savoir à quelle table fait référence la colonne plat_id. Une autre approche est de multiplier les colonnes d'id, une pour chaque table de plat en les laissant toutes à null exceptée la colonne concernée.
Modifié en dernier par Saian le 17 juin 2019, 11:46, modifié 1 fois.
Développeur web depuis + de 20 ans

Petit nouveau ! | 3 Messages

17 juin 2019, 11:45

D'accord merci je vois en gros une sélection sera une ligne de la table selectioncommande.. Je vais faire ça aujourd'hui mais ça me fait peur ^^ Merci encore !

Eléphanteau du PHP | 11 Messages

17 juin 2019, 11:47

Bonjour MrRobot,

Tous dépend de ton énoncé pour la création de ce projet, mais je te conseille vivement de bien réfléchir à la façon de tes données avant le moindre développement. Tu ne rajoutes pas une table juste comme cela en te disant que ça fera le taff. Prend ton temps pour poser un MCD/MLD ou un diagramme des classes (selon si on ta appris à utiliser Merise ou UML).

Car si tu dois gérer la carte un système de commande dans la restauration, dis toi que le découpage avec une table par type (Cake, Soupe et Dessert) ne semble pas être un bon choix.

Je te conseille plutôt de te dire qu'une commande possède un ou plusieurs plats (Salade, omelette, café...) et qu'un plats possède un et un seul type (apéritif, entrée, plat, dessert...). Et là tu verras comment tes données s'articulent de façon à les récupérer facilement.

Cordialement et bon courage pour ta fin d'année ;)
Mon projet CMS https://soosyze.com/
Son repo github https://github.com/soosyze/soosyze

Open source tools and free yes, but with elegance :P .

Avatar du membre
Mammouth du PHP | 1609 Messages

17 juin 2019, 11:51

+1 pour la réponse de noelma, une structure commande / commande_plat / plat avec typage des plats serait effectivement plus appropriée. ;)

Et si tu pousses le schéma à son paroxysme la table plat pourrait être reliée à plusieurs tables de plats si besoin de colonnes spécifiques à tel ou tel type de plat où les tables typées porteraient la liaison vers la table plat.

PS : une colonne commentaire serait peut être plus appropriée qu'un colonne quantité sur la table de liaison (bien que tu puisses aussi utiliser les deux), la personne faisant le service pourrait ainsi y noter une demande particulière du client concernant le plat (la cuisson d'une viande, la sauce, etc). ^^
Modifié en dernier par Saian le 17 juin 2019, 12:12, modifié 1 fois.
Développeur web depuis + de 20 ans

Petit nouveau ! | 3 Messages

17 juin 2019, 12:11

Oui je vois de loin ce que vous dites ^^ Pour le diagramme non je n'ai pas vu du tout il est parti en mission quand on a commencé SQL PhP. Mais je vois bien que créer une table plat et que ça rentre directement dans commande (commande_plat) soit plus approprié que les 3 tables de recettes qui rentre dans la table selectioncommande qui serait lié à la table commande ! Ayant déjà pris du temps à faire les 3 crud pour le côté admin c'est dur de se dire que je peux supprimer mais ça sera plus clean à mon avis ^^
Merci à vous 2, Saian et noelma :)