Probleme pour classer les info d'un xml tiré de deux tables

Résolu
scoubydog Messages postés 10 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 8 février 2009 - 2 févr. 2009 à 14:02
scoubydog Messages postés 10 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 8 février 2009 - 3 févr. 2009 à 01:15
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.

Merci d'avance.

2 réponses

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
2 févr. 2009 à 19:14
Salut,

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;
3
scoubydog Messages postés 10 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 8 février 2009
3 févr. 2009 à 01:15
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;

merci encore.
3
Rejoignez-nous