IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

Problème formulaire


Sujet :

Schéma

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut Problème formulaire
    Salut,

    Vous trouverez ci-joint le MCD de ma base ainsi que le formulaire qui me pose problème.


    J'ai trois tables :
    Ville : Numéro ville (NumAuto), Nom ville (Texte)
    Quartier : Numéro ville (Numérique), Numéro quartier (NumAuto), Nom quartier (Texte)
    Adresse : Numéro quartier (Numérique), Nom adresse (Texte), Nombre de logements (Numérique).

    J'ai un formulaire d'accueil avec deux boutons : Nouvelle adresse et Recherche.

    - En cliquant sur Nouvelle adresse, je tombe sur un formulaire avec deux zones de texte (Nom ville et Nom quartier), un sous formulaire dans lequel je rentre les noms des adresses avec leur nombre de logements correspondant et un bouton "Ok".
    Là j'ai un problème. Lorsque j'ajoute une adresse dans un quartier existant déjà dans une ville existant déjà, ça ajoute une ligne avec le même Nom de ville et le même Nom de quartier, mais un Numéro ville et un Numéro quartier différent.
    Lorsque j'ajoute les adresses et les nombres de logements, j'ai le message d'erreur suivant : " Vous ne pouvez pas ajouter ou modifier un enregistrement car l'enregistrement associé est requis dans la table Quartier".


    - En cliquant sur Recherche d'adresse, je tombe sur un formulaire avec des listes déroulantes (Nom ville et Nom quartier).
    J'aimerais, après avoir choisi une ville et un quartier, tomber sur un formulaire qui m'afficherait les données correspondantes à ce quartier (données rentrées au préalables dans la table "Adresse".cf "En cliquant sur Nouvelle adresse...").

    Je suis assez clair dans mes propos ou non ?

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    De votre MCD on peut inférer la structure des tables, mais pas la façon dont vous codifiez les requêtes SQL d'INSERT, UPDATE et cie et l'ordre dans lequel elles se suivent...

    Merci donc de présenter ces requêtes...
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    CREATE TABLE quartier (numero_quartier uniqueidentifier NOT NULL, nom_quartier text, numero_ville uniqueidentifier);

    CREATE TABLE ville (numero_ville uniqueidentifier NOT NULL, nom_ville text);

    CREATE TABLE adresse (nom_adresse text NOT NULL, nombre_de_logements numeric, numero_quartier uniqueidentifier);

    ALTER TABLE quartier ADD CONSTRAINT PK_quartier PRIMARY KEY (numero_quartier);

    ALTER TABLE ville ADD CONSTRAINT PK_ville PRIMARY KEY (numero_ville);

    ALTER TABLE adresse ADD CONSTRAINT PK_adresse PRIMARY KEY (nom_adresse);

    ALTER TABLE quartier ADD CONSTRAINT FK_quartier_numero_ville FOREIGN KEY (numero_ville) REFERENCES ville (numero_ville);

    ALTER TABLE adresse ADD CONSTRAINT FK_adresse_numero_quartier FOREIGN KEY (numero_quartier) REFERENCES quartier (numero_quartier);

  4. #4
    Membre expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Points : 3 134
    Points
    3 134
    Par défaut
    Tu as mis les requête de création de la base, pas les insert/update.
    Hervé Delannoy, Ingénieur études&développement.

    Je n'accepte pas les demandes de mise en relation MSN/yahoo sans motif.
    ------------------------------------------------------------------------
    Si , ni , ne peuvent vous aider, mais nous oui, pensez à un pti et au !
    Merci de vous relire
    ____________________________________________________________________________________
    Recherche joueurs de "Magic" sur Lille et environs.
    Donner plutôt que jeter.

  5. #5
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Quel SGBD ?


    Je n’utilise pas personnellement le type uniqueidentifier, mais rien qu’à son nom, on sent qu’il garantit une contrainte d’unicité, autrement dit, au vu de l’instruction suivante :
    CREATE TABLE quartier (numero_quartier uniqueidentifier NOT NULL, nom_quartier text, numero_ville uniqueidentifier);
    L’unicité des quartiers est garantie, mais aussi celle des villes : une ville ne peut avoir qu’un seul quartier. Pour numero_ville, essayez un autre type.

    Les spécialistes du type uniqueidentifier confirmeront ou infirmeront.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  6. #6
    Membre expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Points : 3 134
    Points
    3 134
    Par défaut
    Le type uniqueidentifier est un GUID, il est effectivement unique, mais peut être repris dans d'autress enregistrements.

    Rien n'empèche donc d'avoir :

    ville :
    15616-4233d-15faf1 , 'Lille'

    quartier :
    485df-41e6-ab5c6 , 'Moulins' , 15616-4233d-15faf1
    6971a-9501-a5fc6 , 'Fives' , 15616-4233d-15faf1


    Mais personnellement, je n'aime pas les uniqueidentifier
    Hervé Delannoy, Ingénieur études&développement.

    Je n'accepte pas les demandes de mise en relation MSN/yahoo sans motif.
    ------------------------------------------------------------------------
    Si , ni , ne peuvent vous aider, mais nous oui, pensez à un pti et au !
    Merci de vous relire
    ____________________________________________________________________________________
    Recherche joueurs de "Magic" sur Lille et environs.
    Donner plutôt que jeter.

Discussions similaires

  1. Réponses: 10
    Dernier message: 11/05/2008, 18h49
  2. [PEAR][HTML_QuickForm] Formulaire mail
    Par keiser1080 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 24/03/2006, 00h36
  3. Réponses: 2
    Dernier message: 19/12/2005, 12h23
  4. problème formulaire tabulaire
    Par jax69 dans le forum Access
    Réponses: 2
    Dernier message: 05/09/2005, 11h28
  5. Problème Formulaire + popup + page PHP
    Par nesbla dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/02/2005, 00h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo