Recup données d'une autre table
gangstas
-
gangstas -
gangstas -
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>
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>
Configuration: Windows XP Internet Explorer 6.0
2 réponses
-
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........ -
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