Bonjour, j'ai un petit soucis pour ordonner mes résultats lors de la création d'un fichier xml à partir d'un fichier php.
Je demande à mon fichier php de venir me chercher toutes les adresses de mes images qui s'appellent 01.jpg (champs title dans la table image), et de me donner également le nom de l'album auquel elles sont ratachés.(champs album dans la table album).
Jusque la il n'ya pas de probleme.
mon fichier :$query "select * from " image WHERE title'01' ";
$result = mysql_query($query, $connection) or die("Impossible d'interroger la base de données");
$_xml .="\r\n\r\n";
while ($a = mysql_fetch_array($result)) {
$nomalbum = $a["albumid"];
$recherche mysql_query("SELECT * FROM album where ". $nomalbum ." id ");
$data = mysql_fetch_array($recherche);
{$_xml .=" \r\n";}
} else {}
$_xml .="
\r\n";
Le probleme de mon code est qu'a chaque fois qu'il trouve un champs nommé 01.jpg, il me classe les réponses par ID par rapport a ma table image. Moi je souhaiterai qu'il me classe mes réponses par rapport au champs album ($data['album']) qui appartient a la table album.
A la place de faire deux requêtes SQL tu devrais utiliser une jointure, ça te permet de laisser MySQL faire tout le travail de recoupement des infos et de tri.
La requête devrais te donner quelque chose de ce genre, a adapter en fonction de ta structure de tables :
SELECT image.nom, album.nom FROM image INNER JOIN genre ON image.id_album = album.id_album ORDER BY album.nom;
Merci énormément TychoBrahe, ca marche,
je n'avais absolument pas penser à faire une jointure.
J'ai utilisé ton code que j'ai légérement modifié en fonction de ma table,
voici le résultat apres modif :SELECT albumid, album.folder, image.title FROM image, album WHERE image.albumid album.id AND image.title '01' ORDER BY album.folder;