Recup données d'une autre table

Fermé
gangstas - 14 avril 2008 à 17:38
 gangstas - 15 avril 2008 à 13:11
Bonjour,

Voilà, j'ai deux tables artistes et discographie,

dans l'appelle de la page artiste.php, il y a tous les artistes qui ressort en exemple :
artiste 1, artiste2,
et puis je voudrais lors de l'affiche de l'id artiste pour afficher sa biographie que la table discographie affiche les noms des albums enregistrer sous son id.
les deux tables sont en relation par artistes.id=discographie.id_artiste

je rappelle je voudrais l'id choisi de l'artiste + les données de l'id_artiste dans discographie
exemple :

Artiste 1

sa biographie

discographie de l'artiste1

album 1
album 2

voilà.

Merci
voici mon code

<html>
<body>
<table width="56%" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="47%" scope="col"><div align="left">
<?php
// on vérifie que la variable id a été déclarée
if(isset($_GET["id"]))
{
// on se connecte à la base pour récupérer l'enregistrement
mysql_connect("localhost", "root", "");
mysql_select_db("muzik");
// on fait notre requête
$res_fiche = mysql_query(" SELECT * FROM `artiste` WHERE id = ".$id." ");



// si un enregistrement correspond bien
if(@mysql_num_rows($res_fiche) > 0)
{
// on affiche
$row = mysql_fetch_array($res_fiche);
// on déclare les variables utilisées
$id = $row["id"];
$_titre = $row[_titre];
$bio = $row["bio"];
$id_artiste = $row["id_artiste"];
// on affiche le données

echo ''.$_titre.'<br />'.$bio.' id artiste :'.$bio.' ';

}
// sinon on affiche une erreur
else echo "Désolé mais aucun enregistrement ne correspond";
}
// sinon on affiche une erreur
else echo "Désolé mais l'id doit être renseignée";
?>
</div></th>
<th width="53%" scope="col"> </th>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td>découvrir la discographie</td>
<td> </td>
</tr>
<tr>
<td><?php
// on vérifie que la variable id a été déclarée
if(isset($_GET["id"]))
{
// on se connecte à la base pour récupérer l'enregistrement
mysql_connect("localhost", "root", "");
mysql_select_db("muzik");
// on fait notre requête
$res_fiche1 = mysql_query(" Select * from discographie join artiste where artiste.id=discographie.id_artiste;
");



// si un enregistrement correspond bien
if(@mysql_num_rows($res_fiche1) > $id_artiste)
{
// on affiche
$row = mysql_fetch_array($res_fiche1);
// on déclare les variables utilisées
$_titre = $row["_titre"];
$id = $row["id"];


// on affiche le données

echo 'Album : <a href="disco.php?id="'.$_titre.'">'.$_titre.'</a><br /><img src="'.pochette.'"/><br/>'.bio.'<br />';

}
// sinon on affiche une erreur
else echo "Désolé mais aucun enregistrement ne correspond";
}
// sinon on affiche une erreur
else echo "Désolé mais l'id doit être renseignée";
?></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
</body>
</html>
A voir également:

2 réponses

croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
14 avril 2008 à 17:50
Essaye avec ces modifications :
$query = "SELECT * from discographie AS D, artiste AS A where artiste.id=discographie.id_artiste";
$res_fiche1 = mysql_query( $query ) or die( mysql_error() );


Il se peut que tu ais des pbs si des champs ont le même nom dans les deux tables. Dans ce cas, tu devras remplacer le '*' par D.id as idDisco, A.id idArtiste........
0
salut,

merci pour ta réponse, le seul problème et qu'il affiche juste un album, album 1 et pas l'album 2, quel serait la reqûette pour afficher

le nom de l'artiste et l'ensemble de ses albums.

merci
0