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

PHP & Base de données Discussion :

Liaison de 2 tables [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 48
    Points : 34
    Points
    34
    Par défaut Liaison de 2 tables
    Bonjour à tous, je viens de passer ma soirée sur un problème de 2 tables et je ne trouve pas de solutions.

    J'ai une colonne md_clip contenant en gros une colonne id_clip et une colonne titre_clip. Ma seconde colonne regroupe les commentaires liés aux articles. Elle a une colonne id_billet qui contient l'id de l'article.

    Par exemple:

    J'ai un article "article1" ayant pour idée 1 et 5 commentaires sur cette article ayant pour id celui de son article (ici id_billet = 1).

    De plus, je ne veux pas afficher les commentaires mais le nombre de commentaires aux articles. Comment dois-je m'y prendre ?

    Je vous donne mon code que j'ai crée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <?php
            $cx =  mysql_connect("******","******","******");
            if($cx == 0){
                ?> ERREUR </body></html> <?
                exit;
            }
     
            $test = mysql_select_db("******");
     
     
            $order=$_POST['order'];
            $type=$_POST['type'];
            $date=$_POST['date'];
            $style=$_POST['style'];
            $nb_votes=$_POST['nb_votes'];
            $notation=$_POST['notation'];
     
            if($order=='asc'){$order='ASC';}
            else {$order='DESC';}
     
            if($type=='band'){$type='groupe_clip';}
            else if($type=='date'){$type='id_clip';}
            else if($type=='style'){$type='genre_clip';}
            else if($type=='nb_votes'){$type='total_votes';}
            else if($type=='notation'){$type='total_value';}
            else {$type='titre_clip';}
     
            mysql_query("SET lc_time_names = 'fr_FR'");
     
     
            $req = "SELECT * FROM md_clip ORDER BY $type $order";  
            $result = mysql_query($req) or die(mysql_error());
     
            while($data = mysql_fetch_object($result))
            {
                $titre_clip_cut = substr($data->titre_clip,0,25);
                $i = $i+1;
                echo "<table style='border-top:1px solid #000; height:40px;'>
                         <tr>
                            <td width='50' align='center'>$i</td>
                            <td width='100'>{$data->date_clip}</td>
                            <td width='276'>{$data->groupe_clip}</td>
                            <td width='280'>$titre_clip_cut</td>
                            <td width='150'>{$data->genre_clip}</td>
                            <td width='30'>{$data->total_votes}</td>
                            <td width='30'>{$data->total_value}</td>
                            <td width='30'>$essai</td>
                         </tr>
                      </table>";
            }
    ?>
    J'ai testé des JOIN, INNER JOIN, ... dans la requête mais je dois mal m'y prendre. J'espere que vous pourrez m'aider Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    clip, billet, article ... essaie d'utiliser le même mot pour les mêmes choses.

    Ta requête pourrait donner ça :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT titre_clip, COUNT(id_commentaire) FROM md_clip
    JOIN ton_autre_table ON md_clip.id_clip = ton_autre_table.id_billet
    GROUP BY id_billet
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 48
    Points : 34
    Points
    34
    Par défaut
    Oui désolé md_clip est le nom de ma table contenant les articles. J'aurais en effet pus la nommer md_article.

    id_billet est l'id du commentaire, ils prend ne numéro de l'id de l'article auquel il est lié.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Elle a une colonne id_billet qui contient l'id de l'article.
    id_billet est l'id du commentaire
    donc ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 48
    Points : 34
    Points
    34
    Par défaut
    Donc j'aimerais afficher le nombre de commentaire par articles. Le nombre de commentaires comportant le même chiffre pour un article.

    Par exemple: un article id_clip = 1

    Et 3 commentaire :
    commentaire1 id_billet = 1
    commentaire2 id_billet = 1
    commentaire3 id_billet = 1

    J'aimerais afficher dans mon tableau les infos de mon articles suivi du nombre de billets liés à cette article, ici 3.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Donc c'est bien id_clip = id_billet comme dans ma requête non ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 48
    Points : 34
    Points
    34
    Par défaut
    Oui c'est bien ça.

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

Discussions similaires

  1. [VBA-A] liaison entre deux tables
    Par lumbroso dans le forum VBA Access
    Réponses: 16
    Dernier message: 01/06/2006, 10h22
  2. liaison entre les tables
    Par celticval dans le forum Access
    Réponses: 19
    Dernier message: 05/04/2006, 16h49
  3. [MySQL] requete avec liaisons avec plusieurs tables
    Par pod1978 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/03/2006, 22h21
  4. Réponses: 2
    Dernier message: 09/02/2006, 14h03
  5. Liaison sur 2 tables.
    Par ines09 dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/07/2005, 22h13

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