{MySQL} Jointure 3 tables
deletme
-
fiu -
fiu -
Bonjour à toutes et à tous,
J'ai pour objectif de rechercher dans une base de donnée un artiste et ensuite d'afficher les albums qu'il a crée puis les chansons contenues par ce même album :
Voici mes tables :
Artistes : id.artistes ,nom, prenom
Albums : id_albums, nom_albums, id_artistes
Chansons id_chansons, Titre, id_albums
Voici ma requete :
Erreur sur le mysql_fetch_array donc je presume que ma requete est mauvaise.
Une aide serait la bienvenue,
Cdlt, deletMe
J'ai pour objectif de rechercher dans une base de donnée un artiste et ensuite d'afficher les albums qu'il a crée puis les chansons contenues par ce même album :
Voici mes tables :
Artistes : id.artistes ,nom, prenom
Albums : id_albums, nom_albums, id_artistes
Chansons id_chansons, Titre, id_albums
Voici ma requete :
$select = "SELECT * FROM Artistes WHERE nom LIKE '%$Recherche%' OR prenom LIKE '%$Recherche%'"; $result = mysql_query($select,$connexion) or die('requete =>'.$select.'<br> error->'.mysql_error()); $compte = mysql_num_rows(mysql_query($select)); if($compte>0) { $marequete = "SELECT * FROM Artistes WHERE nom LIKE '%$Recherche%' OR prenom LIKE '%$Recherche%' IN (AND JOIN Albums ON Artistes.id_artistes=Albums.id_artistes AND JOIN Chansons ON Albums.id_albums=Chansons.id_albums)"; $resultat = mysql_query($marequete,$connexion); while($ligne = mysql_fetch_array($resultat)) { echo "<tr> <td>".$ligne['nom']."</td> <td>" .$ligne['prenom']."</td></tr>"; }; } else{ echo "<br> Aucun Artiste ne correspond à votre recherche"; }
Erreur sur le mysql_fetch_array donc je presume que ma requete est mauvaise.
Une aide serait la bienvenue,
Cdlt, deletMe
A voir également:
- Jointure sql 3 tables
- :3 emoji ✓ - Forum Loisirs / Divertissements
- Ai suite 3 - Télécharger - Optimisation
- Sql lister les tables ✓ - Forum Programmation
- Signification de :3 ✓ - Forum Mail
- 3 emoji - Forum Mail
5 réponses
$select = "SELECT * FROM Artistes WHERE nom LIKE '%$Recherche%' OR prenom LIKE '%$Recherche%'"; $result = mysql_query($select,$connexion) or die('requete =>'.$select.'<br> error->'.mysql_error()); $compte = mysql_num_rows(mysql_query($select)); if($compte>0) { $marequete = "SELECT * FROM Artistes WHERE nom LIKE '%$Recherche%' OR prenom LIKE '%$Recherche%' IN (AND JOIN Albums ON Artistes.id_artistes=Albums.id_artistes AND JOIN Chansons ON Albums.id_albums=Chansons.id_albums)"; $resultat = mysql_query($marequete,$connexion); while($ligne = mysql_fetch_array($resultat)) { echo "<tr> <td>".$ligne['nom']."</td> <td>" .$ligne['prenom']."</td></tr>"; }; } else{ echo "<br> Aucun Artiste ne correspond à votre recherche"; }
Désolé ce n'était pas très propre sur mon 1er poste