[Mysql] Problème de conception
Résolu
Sheronz
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
Sheronz Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
Sheronz Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai récemment développé un base de donnée mysql concernant la vente et la location d'appartements et maisons par le biais d'annonces.
J'ai donc une base "annonce" (qui regroupe les différentes annonces) et une base "bien" (qui regroupe les différents biens immobiliers > appartements et maisons).
Pour tester le système j'ai donc saisi moi même des entrés via phpMyAdmin, jusque là pas de problème j'arrive à afficher les résultats sur mes pages, à faire des tris etc ...
Cependant je m'attaque à présent au formulaire qui va servir à la publication d'annonces, donc un particulier ou une agence pourra venir et proposer son bien immobilier à la vente ou à la location. Le problème c'est que je bloque sur l'insertion des données dans la base :S
Voici à peu près comment se présente mes 2 tables : http://dl.free.fr/getfile.pl?file=/kI4kXrGY/tables_schema.txt
- Les références (ex: M1, A1, A2, etc ...) me servent à faire le liens entre les 2 tables.
- "bien_id" et "annonce_id" s'incrémentent automatiquement.
Imaginons maintenant qu'une personne soumette un appartement à louer, une nouvelle ligne dans mes 2 tables devrait donc être créée de cette manière :
--------------- annonce ---------------
5 | location| A4 | 2007/08/23
------------------------------------------
------------------ bien ------------------
5 | A4 | appartement | blabla....
-------------------------------------------
Seulement je n'arrive pas à comprendre comment faire ma requête pour arriver à un tel résultat :(
J'aurais bien pu faire du "bidouillage" pour arriver à mes fins, mais j'ai bien peur que si 2 personnes soumettent le formulaire en même, des problèmes surviendront...
Merci par avance pour toute aide !
Cordialement,
SheronZ.
J'ai récemment développé un base de donnée mysql concernant la vente et la location d'appartements et maisons par le biais d'annonces.
J'ai donc une base "annonce" (qui regroupe les différentes annonces) et une base "bien" (qui regroupe les différents biens immobiliers > appartements et maisons).
Pour tester le système j'ai donc saisi moi même des entrés via phpMyAdmin, jusque là pas de problème j'arrive à afficher les résultats sur mes pages, à faire des tris etc ...
Cependant je m'attaque à présent au formulaire qui va servir à la publication d'annonces, donc un particulier ou une agence pourra venir et proposer son bien immobilier à la vente ou à la location. Le problème c'est que je bloque sur l'insertion des données dans la base :S
Voici à peu près comment se présente mes 2 tables : http://dl.free.fr/getfile.pl?file=/kI4kXrGY/tables_schema.txt
- Les références (ex: M1, A1, A2, etc ...) me servent à faire le liens entre les 2 tables.
- "bien_id" et "annonce_id" s'incrémentent automatiquement.
Imaginons maintenant qu'une personne soumette un appartement à louer, une nouvelle ligne dans mes 2 tables devrait donc être créée de cette manière :
--------------- annonce ---------------
5 | location| A4 | 2007/08/23
------------------------------------------
------------------ bien ------------------
5 | A4 | appartement | blabla....
-------------------------------------------
Seulement je n'arrive pas à comprendre comment faire ma requête pour arriver à un tel résultat :(
J'aurais bien pu faire du "bidouillage" pour arriver à mes fins, mais j'ai bien peur que si 2 personnes soumettent le formulaire en même, des problèmes surviendront...
Merci par avance pour toute aide !
Cordialement,
SheronZ.
A voir également:
- [Mysql] Problème de conception
- Mysql community server - Télécharger - Bases de données
- Logiciel de conception gratuit - Guide
- Mysql error 2002 ✓ - Forum Linux / Unix
- Logiciel conception maison - Guide
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
2 réponses
Bonjour Gunneboy,
Merci beaucoup pour ton intervention, il est vrai que je me suis un peu laisser aller sur ce point :X, ma connaissance des bases remonte à un an et n'etait pas excellente...
Problème résolu, tout fonctionne ! ;)
Bonne continuation,
SheronZ.
Merci beaucoup pour ton intervention, il est vrai que je me suis un peu laisser aller sur ce point :X, ma connaissance des bases remonte à un an et n'etait pas excellente...
Problème résolu, tout fonctionne ! ;)
Bonne continuation,
SheronZ.
Bonjour Sheronz,
Il semble que tu ne connaisse pas bien le principe des bases de données relationnelles et en particulier l'utilisation des clefs primaires et secondaires:
Je m'explique:
D'après l'organnisation de ta base (du moins si je comprend bien), une annonce peu concerner plusieur biens , alors que, normalement, un bien ne peut faire l'objet que d'une annonce.
Le champ (ou colonne si tu préfert) annonce_immo_ref est donc innutile, et le champ bien_ref contiendra alors le numéro de l'annonce correspondante (c'est à dire, le numéro contenu dans la colonne annonce_id qui s'incrémente automatiquement et qui est donc unique pour chaque annonce).
Ensuite, tu n'as plus qu'à créer une ligne dans la table annonce, et garder en mémoire le numéro annonce_id que MySQL t'auras créer automatiquement pour créer tes lignes correspondantes à cette annonce dans la table biens.
Cela devrait régler ton problème. (Petit conseil, renseigne toi ou révise la méthode MERISE qui est parfaite pour organiser correctement une BDD relationnelle).
Il semble que tu ne connaisse pas bien le principe des bases de données relationnelles et en particulier l'utilisation des clefs primaires et secondaires:
Je m'explique:
D'après l'organnisation de ta base (du moins si je comprend bien), une annonce peu concerner plusieur biens , alors que, normalement, un bien ne peut faire l'objet que d'une annonce.
Le champ (ou colonne si tu préfert) annonce_immo_ref est donc innutile, et le champ bien_ref contiendra alors le numéro de l'annonce correspondante (c'est à dire, le numéro contenu dans la colonne annonce_id qui s'incrémente automatiquement et qui est donc unique pour chaque annonce).
Ensuite, tu n'as plus qu'à créer une ligne dans la table annonce, et garder en mémoire le numéro annonce_id que MySQL t'auras créer automatiquement pour créer tes lignes correspondantes à cette annonce dans la table biens.
Cela devrait régler ton problème. (Petit conseil, renseigne toi ou révise la méthode MERISE qui est parfaite pour organiser correctement une BDD relationnelle).