Partage
  • Partager sur Facebook
  • Partager sur Twitter

Jointure

    3 décembre 2006 à 19:52:50

    Salut tout le monde

    Alors je dois faire une jointure de 2 tables : membres et sujet_general

    je dois prendre les champ :

    - id, pseudo pour membres
    - auteur pour sujet_general

    j'ai fais ceci :

    SELECT [DISTINCT] FROM membres, sujet_general WHERE membres.pseudo = sujet_general.auteur


    C'est vraiment minim mais je sais vraiment pas, je voudrias que on affiche l'id du pseudo (membres) qui correspond a l'auteur (sujet_general)

    Merci de m'aider
    • Partager sur Facebook
    • Partager sur Twitter
      3 décembre 2006 à 19:57:03

      a la place de ta requette écrit
      SELECT id FROM membres ON sujet_general JOIN membres.pseudo=sujet_general.pseudo

      attention il faut que tu mette un champ pseudo dans ta table sujet_genral
      • Partager sur Facebook
      • Partager sur Twitter
        3 décembre 2006 à 19:59:01

        euh tu peu donner toute ta table ;) ta jointure a l'air fausse enfin comme moi je les construit
        • Partager sur Facebook
        • Partager sur Twitter
          3 décembre 2006 à 19:59:16

          Ok, merci, et apres comment je fais pour mettre quelque chose du genre :

          compte.php?id={id du posteur }

          • Partager sur Facebook
          • Partager sur Twitter
            3 décembre 2006 à 20:16:25

            explique toi un peux mieu plz
            • Partager sur Facebook
            • Partager sur Twitter
              3 décembre 2006 à 20:27:30

              Je souhaite mettre : compte.php?id= {id du posteur }

              donc id du posteur = Id (dans membres) qui correspond au pseudo (dans membres) du pseudo du posteur (dans sujet_general)

              Et comme je fais pour l'afficher ?

              compte.php?id=


              Merci de m'aider
              • Partager sur Facebook
              • Partager sur Twitter
                3 décembre 2006 à 20:31:56

                <form action="compte.php">
                <?
                mysql_connect("localhost", "nom", "passe");
                mysql_select_db("base");

                $reponse = mysql_query('SELECT id FROM membres ON sujet_general JOIN membres.pseudo=sujet_general.pseudo');

                $id = mysql_fetch_array($reponse);

                <input type="submit">
                </form>

                Voila quand tu apuis dessu ca fera
                compte.php?id={id du posteur }

                est ce ca que tu veux?
                • Partager sur Facebook
                • Partager sur Twitter
                  3 décembre 2006 à 20:39:40

                  un truc du genre :

                  <a href="http://members.cliranet.com/compte.php?id=<?php echo $donneesMembers['id'];?>"><?php echo $donneesSujet['pseudo'];?></a>


                  Mais comment afficher l'id du posteur ? comme une simple requete ?

                  qui donnerait :


                  $reponse = mysql_query('SELECT id FROM membres ON sujet_general JOIN membres.pseudo=sujet_general.pseudo');

                  $id = mysql_fetch_array($reponse);

                  <a href="http://members.cliranet.com/compte.php?id=<?php echo $id['id'];?>"><?php echo $donneesSujet['pseudo'];?></a>



                  ?

                  Merci encore
                  • Partager sur Facebook
                  • Partager sur Twitter
                    3 décembre 2006 à 20:54:07



                    $reponse = mysql_query('SELECT id FROM membres ON sujet_general JOIN membres.pseudo=sujet_general.pseudo');

                    $donnes = mysql_fetch_array($reponse);

                    echo '<a href="http://members.cliranet.com/compte.php?id=' . $donnees['id'] . '>' . $donneesSujet['pseudo'] . '</a>';



                    si tu veu que je t'explique le code dit le moi
                    • Partager sur Facebook
                    • Partager sur Twitter
                      3 décembre 2006 à 20:59:45

                      Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/members/public_html/forum/cat_general/topic.php on line 28

                      Correspondant a :

                      $reponse = mysql_query('SELECT id FROM membres ON sujet_general JOIN membres.pseudo=sujet_general.pseudo');
                      $donnees = mysql_fetch_array($reponse);
                      • Partager sur Facebook
                      • Partager sur Twitter
                        3 décembre 2006 à 21:01:25

                        va dans ta base de donné et écrit le requette

                        SELECT id FROM membres ON sujet_general JOIN membres.pseudo=sujet_general.pseudo

                        dit moi si sa marche
                        • Partager sur Facebook
                        • Partager sur Twitter
                          3 décembre 2006 à 21:02:37

                          Ca ne va rien faire buggué ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                            3 décembre 2006 à 21:04:10

                            mais non tu faite si sa dit érreur sa ve dire que ma requette est fausse sinon c'est moi qui me suis tromper dans le code php
                            • Partager sur Facebook
                            • Partager sur Twitter
                              3 décembre 2006 à 21:05:53

                              Erreur :

                              #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ON sujet_general JOIN membres . pseudo = sujet_general . pseudo
                              LIMIT 0, 30' at line 1
                              • Partager sur Facebook
                              • Partager sur Twitter
                                3 décembre 2006 à 21:07:07

                                a tu un champ pseudo dans tes 2 tables?
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  3 décembre 2006 à 21:07:16

                                  SELECT * FROM membres m INNER JOIN sujet_general sg ON m.pseudo=sg.auteur
                                  :-°
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    3 décembre 2006 à 21:08:55

                                    Evidemment qu'il y a pseudo dans les 2

                                    Avec ta rquete Ayper :

                                    #1052 - Column 'id' in field list is ambiguous
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      3 décembre 2006 à 21:09:52

                                      je pence que le INNER ne serv rien car par défaut des une jointure interne mais essaye quand meme apres tous je ne sais pas tous :)
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        3 décembre 2006 à 21:12:28

                                        #1054 - Unknown column 'sg.auteur' in 'on clause'
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          3 décembre 2006 à 21:12:33

                                          Je l'ai mise pour la syntaxe... C'est pas "SELECT * FROM table1 ON table2 JOIN table1.champ = table2.champ" mais "SELECT * FROM table1 LEFT(ou autre type de jointure) JOIN table2 ON table1.champ = table2.champ". Il faut remplacer les champs par les champs de ta table...
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            3 décembre 2006 à 21:20:59

                                            fait nous un petit dessin tous bête de tes tableaux avec les champs qui sont dedant plz
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              3 décembre 2006 à 21:23:34

                                              Maintenant j'ai un autre probleme :

                                              $reponseRep = mysql_query('SELECT m.id, m.pseudo, rp.pseudo FROM membres m INNER JOIN reponse_general rp ON m.pseudo=rp.pseudo');
                                              $donneesRep = mysql_fetch_array($reponseRep);

                                              <a href="http://members.cliranet.com/compte.php?id=<?php echo $donneesRep['id']; ?>"><?php echo $donneesReponse['pseudo'];?></a>

                                              Seulement, s'il y a 1 sujet 2 reponses dans le forum, l'id est toujours celle de la 1ere reponse...

                                              Merci de m'aider
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                3 décembre 2006 à 21:24:38

                                                ajoute where id=$reponce1 a ta requette
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  3 décembre 2006 à 21:30:07

                                                  ? je n'ai pas compris là, je viens de faire :

                                                  $id = $donneesReponse['id'];

                                                  $reponseRep = mysql_query("SELECT m.id, m.pseudo, rp.pseudo, rp.id FROM membres m INNER JOIN reponse_general rp ON m.pseudo=rp.pseudo WHERE rp.id= '".$id."' ");
                                                  $donneesRep = mysql_fetch_array($reponseRep);

                                                  et ca n'affiche pas d'id là

                                                  Idem pour le sujet, ca affiche toujours l'id 5
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

                                                  Jointure

                                                  × 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