{MySQL} Jointure 3 tables

Fermé
deletme - 11 déc. 2009 à 22:38
 fiu - 13 déc. 2009 à 04:51
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 :
$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 &agrave; 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:

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 &agrave; votre recherche";
		}	  	   


Désolé ce n'était pas très propre sur mon 1er poste
0