par
Invité » 14 févr. 2006, 13:50
Bonjour.
On m'a aidé sur la création de bases de données mais maintenant j'ai un problème quand à l'affichage. Peut être pourriez vous m'aider. Voici la requete et le résultat.
$vtitrechanson=$_POST["titre_chanson"];
$sql = "SELECT e.nom, i.date, i.lieu, c.nom_chanson, types.type, (SELECT nom FROM artiste WHERE i.id_artiste = id) AS nom_artiste
FROM (
SELECT id_emission, date, lieu, id_chanson, if( count( id_artiste ) <2, \"Single\", \"Duo\" ) AS TYPE
FROM interpretation
GROUP BY id_emission, date, lieu, id_chanson
) AS TYPES ,
interpretation AS i, emission as e, chanson as c
WHERE types.type = \"Duo\"
AND i.id_emission = types.id_emission
AND i.date = types.date
AND i.id_chanson = types.id_chanson
AND i.id_emission = e.id
AND i.id_chanson = c.id
AND c.nom_chanson like \"%$vtitrechanson%\" ";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
// on affiche les informations de l'enregistrement en cours
echo '<b>'.$data['nom_chanson'].'</b> - '.$data['nom_artiste'].' - Emission diffusée le ('.$data['date'].')<br> ';
}
echo'<br><br>';
Voilà ce que ça donne :
Old Man River - LAYTON - Emission diffusée le (1928-05-10 00:00:00)
Old Man River - JOHNTONE - Emission diffusée le (1928-05-10 00:00:00)
Old Man River - MouMou - Emission diffusée le (1928-05-10 00:00:00)
Ce que je voudrais avoir, sachant que deux des champs sont identiques pour chaque enregistrement c'est :
Old Man River - LAYTON - JOHNTONE - MouMou - Emission diffusée le (1928-05-10 00:00:00)
Merci pour l'aide que vous saurez m'apporter
Bonjour.
On m'a aidé sur la création de bases de données mais maintenant j'ai un problème quand à l'affichage. Peut être pourriez vous m'aider. Voici la requete et le résultat.
[php]$vtitrechanson=$_POST["titre_chanson"];
$sql = "SELECT e.nom, i.date, i.lieu, c.nom_chanson, types.type, (SELECT nom FROM artiste WHERE i.id_artiste = id) AS nom_artiste
FROM (
SELECT id_emission, date, lieu, id_chanson, if( count( id_artiste ) <2, \"Single\", \"Duo\" ) AS TYPE
FROM interpretation
GROUP BY id_emission, date, lieu, id_chanson
) AS TYPES ,
interpretation AS i, emission as e, chanson as c
WHERE types.type = \"Duo\"
AND i.id_emission = types.id_emission
AND i.date = types.date
AND i.id_chanson = types.id_chanson
AND i.id_emission = e.id
AND i.id_chanson = c.id
AND c.nom_chanson like \"%$vtitrechanson%\" ";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
// on affiche les informations de l'enregistrement en cours
echo '<b>'.$data['nom_chanson'].'</b> - '.$data['nom_artiste'].' - Emission diffusée le ('.$data['date'].')<br> ';
}
echo'<br><br>';[/php]
Voilà ce que ça donne :
[quote]Old Man River - LAYTON - Emission diffusée le (1928-05-10 00:00:00)
Old Man River - JOHNTONE - Emission diffusée le (1928-05-10 00:00:00)
Old Man River - MouMou - Emission diffusée le (1928-05-10 00:00:00)[/quote]
Ce que je voudrais avoir, sachant que deux des champs sont identiques pour chaque enregistrement c'est :
Old Man River - LAYTON - JOHNTONE - MouMou - Emission diffusée le (1928-05-10 00:00:00)
Merci pour l'aide que vous saurez m'apporter