Partage
  • Partager sur Facebook
  • Partager sur Twitter

lier deux champs de deux tables différentes

Sujet résolu
    11 avril 2011 à 10:27:54

    Bonjour,

    Voilà ça fait un petit moment que je cherche comment lier deux champs entre eux issu de deux tables différentes. Je m'explique, je travail sous phpmyadmin et j'ai créé deux tables, une "service" et l'autre "verification" dans c'est deux tables il y a plusieurs champs. Cependant chacune de ces tables on un champs "id". Ce que je voudrais c'est que l'id de la table "verification" soit le même que la table "service".
    Comment je peux faire???
    :(
    • Partager sur Facebook
    • Partager sur Twitter
      11 avril 2011 à 10:45:44

      Bonjour, il existe bien sur un moyen de relier deux champs de tables entre elle, mais pour cela tu dois te servir des jointures.

      http://www.siteduzero.com/tutoriel-3-2 [...] ures-sql.html

      Bonne lecture.
      • Partager sur Facebook
      • Partager sur Twitter
        11 avril 2011 à 11:05:37

        Salut,
        Merci pour le lien, mais je ne trouve pas mon bonheur. . .
        Je veux que mes deux id aient la même valeur, c'est à dire que lorsque l'id de la table service est à 2, il faut que l'id de la table vérification soit à 2 aussi.
        • Partager sur Facebook
        • Partager sur Twitter
          11 avril 2011 à 11:29:17

          Il te faut prévoir à l'avance que l'information que tu vas insérer dans chacune de ces deux tables aient un champ contenant le même ID.

          Ce que tu peux faire très concrètement, avec une méthode assez barbaresque, c'est de te servir d'un champ datetime.
          Je m'explique, tu créé un champs datetime pour ta première table (table "service" je suppose).
          Dans ton code PHP tu génère une variable date :
          $date = date('Y-m-d H:i:s');
          mysql_query("INSERT INTO service('', date) VALUES ('', '".$date."')");
          

          ensuite tu récupère l'ID de ta première table grâce à la date, pour ta deuxième insertion dans la seconde table (table "verification" je suppose):
          $id=mysql_result(mysql_query("SELECT id FROM service WHERE date='".$date."'"), 0);
          mysql_query("INSERT INTO verification(id) VALUES ('".$id."')");
          



          Autrement, je pense qu'il y a les triggers pour ce genre de chose.
          Encore faut-il s'y connaitre.

          EDIT : j'avais oublié des guillemets.
          • Partager sur Facebook
          • Partager sur Twitter
            11 avril 2011 à 12:00:36

            c'est bon j'ai trouvé une solution merci de ton aide :D
            • Partager sur Facebook
            • Partager sur Twitter
              11 avril 2011 à 12:06:27

              Ah ben content que cette solution ait pu t'aider, de plus tu peux toujours l'améliorer en ajoutant des paramètres dans la requête :
              SELECT id FROM service WHERE ... AND ... AND ...
              • Partager sur Facebook
              • Partager sur Twitter

              lier deux champs de deux tables différentes

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown