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

Requêtes MySQL Discussion :

[relation] entre deux tables !


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 63
    Points : 61
    Points
    61
    Par défaut [relation] entre deux tables !
    Bonjour tous le monde !

    J'explique mon probleme de novice !! lol
    alors voila j ai deux tables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Structure de la table `membres`
    -- 
     
    CREATE TABLE `membres` (
      `id` mediumint(9) NOT NULL auto_increment,
      `session` text NOT NULL,
      `pseudo` text NOT NULL,
      `passe` text NOT NULL,
      `codeclub` text NOT NULL,
      `email` text NOT NULL,
      `typesport` text NOT NULL,
      KEY `id` (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;


    --
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Structure de la table `clubs`
    --
     
     
    CREATE TABLE `clubs` (
      `id` mediumint(9) NOT NULL auto_increment,
      `session` text NOT NULL,
      `pseudo` text NOT NULL,
      `passe` text NOT NULL,
      `email` text NOT NULL,
      `typesport` text NOT NULL,
      KEY `id` (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;

    Mon probleme si vous voulez c que je veux relier le 'id' de la table clubs et le 'codeclub' de la table membre !!

    En fait je veux que lorsque qu'un membre s inscrit dans le formulaire il doit saisir le codeclub qui correspond en faite a 'id' de la table club !!

    Ce qui fait que lorsqu il se log il est directement rediriger sur la page "club" donc 'id' de la table club!!

    J espere avoir été clair et je vous remercie d'avance de votre aide !!!!

    merci

  2. #2
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut
    Si tu veux que tes tables soient liées (tables relationnelles), il faut utiliser le moteur InnoDB.
    Si tu veux juste faire une sélection qui pour l'id d'une table va chercher les lignes qui ont la même id dans l'autre table, il suffit de faire un SELECT avec une clause JOIN.

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    Pour lier tes tables, il faudrait que tu les redéclares de la façon suivante, et dans cet ordre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE TABLE `clubs` (
    `id` SMALLINT( 9 ) NOT NULL ,
    `session` TEXT CHARACTER SET latin1 COLLATE latin1_bin NOT NULL ,
    `pseudo` TEXT CHARACTER SET latin1 COLLATE latin1_bin NOT NULL ,
    `passe` TEXT CHARACTER SET latin1 COLLATE latin1_bin NOT NULL ,
    `email` TEXT CHARACTER SET latin1 COLLATE latin1_bin NOT NULL ,
    `typesport` TEXT CHARACTER SET latin1 COLLATE latin1_bin NOT NULL ,
    PRIMARY KEY ( `id` ) 
    ) 
    TYPE = InnoDB CHARACTER SET latin1 COLLATE latin1_bin COMMENT = 'Liste des clubs';

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE TABLE `membres` (
    `id` SMALLINT( 9 ) NOT NULL ,
    `session` TEXT CHARACTER SET latin1 COLLATE latin1_bin,
    `pseudo` TEXT CHARACTER SET latin1 COLLATE latin1_bin,
    `passe` TEXT CHARACTER SET latin1 COLLATE latin1_bin,
    `codeclub` SMALLINT( 9 ) NOT NULL ,
    `email` TEXT CHARACTER SET latin1 COLLATE latin1_bin,
    `typesport` TEXT CHARACTER SET latin1 COLLATE latin1_bin,
    PRIMARY KEY ( `id` , `codeclub` ) ,
    KEY `codeclub` ( `codeclub` ) 
    ) TYPE = InnoDB CHARACTER SET latin1 COLLATE latin1_bin COMMENT = 'Liste des membres';
    Il faut que dans ta table membres, le "codeclub" soit du même type que l'id de ta table "clubs".

    Après t'auras plus qu'à faire des requêtes avec des jointures

    Testé sous MySQL 4.1.10a

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DEBUTANT]Problème de relation entre deux tables
    Par Yomane dans le forum Schéma
    Réponses: 2
    Dernier message: 20/10/2006, 01h30
  2. relation entre deux tables
    Par tojiji dans le forum Access
    Réponses: 6
    Dernier message: 04/07/2006, 14h44
  3. Problème de relation entre deux tables + autre chose
    Par Goth_sensei dans le forum Langage SQL
    Réponses: 7
    Dernier message: 30/03/2006, 20h49
  4. [XSD] Relation entre deux tables
    Par fd59 dans le forum Valider
    Réponses: 2
    Dernier message: 09/09/2005, 23h33
  5. Relation entre deux tables
    Par manel007 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 04/03/2005, 16h54

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