Probleme pour classer les info d'un xml tiré de deux tables [Résolu]

Signaler
Messages postés
10
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
8 février 2009
-
Messages postés
10
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
8 février 2009
-
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

Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
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;
Messages postés
10
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
8 février 2009

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.