Bonjour,
j'ai un souci avec une de mes BDD. Je n'ai pas trouvé de solution dans le forum, voicu la situation.
Il s'agit d'une BDD liée à une galerie d'artistes. J'ai 4 tables liées entre elles:
1/ artistes
id
nom
prenom
pseudo
mail
...
2/ oeuvres
id
artiste (valeur de artistes.id)
titre
format
3/ styles
id
nom
(exemple 1:peinture; 2: photo; 3:textile,...)
3/ categories (table de liaison oeuvres - styles)
oeuvre
style
(une oeuvre pouvant appartenir à divers styles comme peinture+photo)
J'ai:
la liste des styles différents avec les noms des artistes ayant au moins une oeuvre dans ce style:
Céramique
Dupont, Jean
Peinture
Dupont, Jean
Chappuis, Martin
Photographie
Dubois, Claude
Niepce, Nicéphore
Citation :
Code:
//création d'une requête SQL pour obtenir la liste des catégories
$requete="SELECT * FROM categories ORDER BY nom";
$resultat=mysql_query($requete) or die ("Problème lors de la requête. Erreur: ".mysql_error());
while($ligne=mysql_fetch_array($resultat)){
echo "\n<p>$ligne[nom]</p>";
//création d'une requête SQL pour obtenir la liste des artistes
$requete2 = "SELECT DISTINCT a.id,a.nom,a.prenom FROM ((oeuvres o LEFT JOIN l_oeuvre_cat l ON o.id=l.loc_oe) LEFT JOIN artistes a ON o.artiste=a.id) WHERE l.loc_cat=$ligne[id]";
$resultat2=mysql_query($requete2) or die ("Problème lors de la requête. Erreur: ".mysql_error());
while($ligne2=mysql_fetch_array($resultat2)){
echo "\n<p><a href='artistes.php?id=$ligne2[id]'>$ligne2[nom], $ligne2[prenom]</a></p>";
}
}
|
Mon problème:
je souhaite que pour les noms des artistes, si un pseudo est défini, le pseudo s'affiche et PAS le nom. Ca c'est facile. Le souci c'est de trier les artistes par ordre alphabétique nom OU pseudo. J'imagine passer par une requête UNION mais je ne vois pas comment l'intégrer.
Qqn peut-il m'aider?
D'avance merci.