Comment mettre plusieurs lignes spécialitées dans une table MySQL Work - SQL/NoSQL - Programmation
Marsh Posté le 03-06-2025 à 16:32:56
ok je pense avoir trouver faut que je face un champ idspécialité_choix2 et je l'associe a ma table
est-ce celà ?
merci de vos réponse
a non ca ne fonctionne pas..
ERROR 1091: Can't DROP 'idspécialité_copy1'; check that column/key exists
SQL Statement:
ALTER TABLE `projet`.`restaurant`
DROP FOREIGN KEY `idspécialité_copy1`
trouver ca marche
Marsh Posté le 07-06-2025 à 18:13:13
Si tout truc, c'est gérer des restaurants qui ont chacune des spécialités, tu vas avoir 3 tables :
Table Restaurant :
IDRestaurant
NomRestaurant
...
+ tous les autres champs liés au resto proprement dit (genre, son SIRET, son adresse...)
Table Spécialité
IDSpecialite
NomSpecialite
...
+ tou les autres champs liés à cette spécialité (ex : une description complète, la recette...)
Table SpecialitesRestaurants
IDSpecialiteRestaurant
IDRestaurant
IDSpecialite
+ les éventuels champs liés à cette relation entre le resto et la spécialité (ex : prix, note moyenne donnée par les clients ce qui permettra de classer les restos par spécialité qu'ils réussissent le mieux, ...)
C'est ce que tu recherches ?
Marsh Posté le 19-06-2025 à 15:48:22
rufo a écrit : Si tout truc, c'est gérer des restaurants qui ont chacune des spécialités, tu vas avoir 3 tables : |
bonjour,
je te remerci pour ta réponse
effectivement c'est celà mais en plus une table reservation , et une table date des reservation , et l'historique de toutes les reservation, et la posibilité de voir les disponibilité de chaque restaurant par jour ouvert
j'ai effectivement fait les 3 tables que tu indique
j'ai du mal avec la table qui permet de rechercher par expemple je veut un chino francais en restaurant le 4 aout le soir a lyon 8 eme
merci encord de ton aide
actuellement , j'ai fait :
une table specialité
une table restaurant
une table specialité restaurant
une table recherche
une table historique des reservation
Marsh Posté le 19-06-2025 à 15:57:24
Pour répondre à la question...
Une fois que vous avez préparé vos table ; Vous devez construire un formulaire pour remplir les dites tables.
Avec les formulaire vous ajoutez des lignes.
Marsh Posté le 19-06-2025 à 16:02:56
lady287 a écrit : Pour répondre à la question... |
mysql workbench le fait automatiquement
le plus dure sera surtout de mettre toutes la base sur un php ou java pour remplire tous les champs... la je n'ai aucune experience
Marsh Posté le 19-06-2025 à 16:04:58
Pour manger quoi ce soir ?
Marsh Posté le 19-06-2025 à 16:16:22
pas tous a fait , plutot quel sont les type de restaurants reserver le plus les 1 ere vendredi du mois pour prevoir a l'avance ou les livreur en trotinet doit ce mettre
plusieur livreur en trotinette mon demander ce type de logiciel
Marsh Posté le 19-06-2025 à 16:43:05
saebalyon a écrit : |
C'est normal, t'inquiète, personne ne comprend Jovalise (lady287 est un énième multi)
saebalyon a écrit : |
Pour répondre à ta question, tu vas faire une requête SQL qui lie ces tables sauf la table "recherche" qui ne doit pas exister (à moins que pour des questions de perfs, tu veuilles mettre en cache les requêtes des utilisateurs et le résultat mais c'est le genre d'optimisation prématurée).
On va dire que côté IHM, tu as :
- un champ "spécialité" qui permet de sélectionner une spécialité. Ca peut être une liste déroulante pour faciliter la recherche afin d'éviter les pbs de saisie, fautes de frappe, trucs nommés différemment... mais ça peut être un champ texte et pour guider l'utilisateur avec les valeurs que tu as déjà en BD, tu mets de l'autocompletion
- un champ "date" pour indiquer la date + un éventuel champ "heure" pour indiquer l'heure précise
- un champ "lieu" pour saisir le lieu (ville + infos complémentaires). Pareil, tu peux mettre un champ texte avec autocompletion pour guider l'utilisateur dans sa saisie.
Côté SQL, tu vas avoir un truc de ce genre :
SELECT r.NomResto, r.AdresseResto, s.Specialite, + autres champs nécessaires à afficher dans le résultat
FROM restaurant r, specialite s, specialite_restaurant sr
WHERE r.IDResto = sr.IDResto AND sr.IDSpecialite = s.IDSpecialite AND r.VilleResto LIKE "%$VilleSaisie%" AND s.NomSpecialite LIKE "%$SpecialiteSaisie%"
Bien entendu, faire une requête préparée pour éviter les injections SQL
Cette requête permet de lister les restaurants par lieu et spécialités qui vont coller. Bien entendu, pour avoir un truc plus pratique, tu peux faire une recherche élargie qui va rechercher les restos dans un certain rayon d'action (qq km, donc là, il te faut les coordonnées lat/long des restos) autour de la ville saisie.
Une fois que tu as ta liste de restos, tu va lancer une 2ème requête sur les ID de ces restos pour vérifier les dispos. Là, sans plus de détails sur ta table des réservations et comment tu gères la capacité de chaque resto pour déterminer combien de places il reste, je ne peux pas t'aider plus.
Marsh Posté le 03-06-2025 à 16:24:39
Bonjour,
j'ai :
1 table nommer restaurant
1 table nommer spécialité
j'ai mise dans spécialité :
et dans restaurant :
j'ai bien mis dans forein key :
le id de la base
le hic dans la table restaurant je veut metre dans chaque restaurant créer plusieurs spécialités
quand je veut rajouter dans la table plusieur champs (columns) spécialité ca ne veut pas
comment faire ?
merci de votre aide
Message édité par saebalyon le 03-06-2025 à 16:52:17
---------------
L'urbex : faire découvrir le patrimoine oublié / Mes albums urbex : https://www.flickr.com/photos/14695 [...] 5272741566 et https://www.flickr.com/photos/20070 [...] 0316987281