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 :

Jointure de deux tables, Moyenne et nom [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 20
    Par défaut Jointure de deux tables, Moyenne et nom
    Bonjour tout le monde,

    Je suis débutant, je viens de passer plusieurs heures à lire à propos des jointures, mais rien à faire.

    Je n'arrive pas à associer des moyennes d'une table avec des valeurs provenant d'une autre table.

    J'utilise MySQL.

    <<<<< Table : musique >>>>>
    id_____Musique
    1_____super chansson
    2_____Punk Daft
    3_____Jean francois Jarre
    4_____Cloé Francis
    ...

    <<<<< Table : Note >>>>>
    id_____note_____id_musique
    1_____8________2
    2_____5________2
    3_____9________3
    4_____3________1
    5_____2________2
    ...


    Voici ce que je sais faire pour le moment,
    Afficher la liste des musiques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
                $findall = mysql_query("SELECT * from musique ORDER by id DESC");
    			while($fa = mysql_fetch_array($findall))
    			 {		
    			?>
    Puis afficher la moyenne attibué à chaque musique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $query = "SELECT id_musique, AVG(note) FROM Note GROUP BY id_musique";  
    $result = mysql_query($query);
     
    while($row = mysql_fetch_array($result)){
    	echo "average of ". $row['id_musique']. " is $".round($row['AVG(note)'],1);
    	echo "<br />";
    }
    ?>
    Voila, grosso modo, je souhaiterais associer les noms des musiques provenant de la table "Musique" aux notes moyennes provenant de la table "Note".

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2003
    Messages : 570
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    mysql_query("SELECT musique.Musique as nom_musique, AVG(note) as moyenne FROM Note INNER JOIN musique  ON Note.id_musique=musique.id GROUP BY musique.Musique");
    ....
    et tu affiche tes colonnes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $row['nom_musique']
    ...
    $row['moyenne']
    pour apprendre les jointure

    bon codage

  3. #3
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 20
    Par défaut
    Oula ça a été rapide

    Je viens de tester et effectivement, ça fonctionne. Merci beaucoup.

    Ça a créé un autre problème par contre,
    Les musiques qui n'ont pas encore été notés n'apparaissent plus.
    Y a t'il possibilité de donner une valeur par défaut à la moyenne tant que la "table des moyennes" n'est pas remplie ?

    Merci bien.

  4. #4
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 20
    Par défaut
    Ha ben en lisant le tuto sur les jointures, j'ai trouvé la réponse en remplaçant le INNER JOIN par RIGHT OUTER JOIN.

  5. #5
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2003
    Messages : 570
    Par défaut
    , ce n'est pas pour rien que j'ai mis le lien

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

Discussions similaires

  1. jointure entre deux tables mysql
    Par Invité dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 23/04/2006, 20h08
  2. jointure de deux tables de deux bases de données!
    Par JauB dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/01/2006, 11h05
  3. [MySQL] Jointure entre deux tables
    Par Flushovsky dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 03/10/2005, 18h55
  4. PROBLEME DE JOINTURE ENTRE DEUX TABLE
    Par DarkMax dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/01/2005, 15h11
  5. Jointure entre deux tables et résultat
    Par Asdorve dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/06/2004, 14h50

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