Requète sur deux tables, problème de tri :s

SDK_akira Messages postés 24 Date d'inscription dimanche 6 février 2005 Statut Membre Dernière intervention 1 novembre 2005 - 5 oct. 2005 à 13:27
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 - 5 oct. 2005 à 13:42
Bonjour tout le monde :)



J'essaie de programmer une gallerie d'image, pour ce faire j'ai fait 3 tables :


1 table gall_cat_hxh :


id (int) // id de la catégorie


nom (varchar) // nom de la categorie





1 table gall_scat_hxh :


id (int) // id de la sous categorie


nom (varchar) // nom de la sous rubrique


cat (int) // id de la categorie a laquelle elle appartient





1 table gall_images_hxh :


id (int) // id de l'image


location (varchar) // emplacement de l'image


scat (id) // sous categorie a laquelle elle appartient



Ensuite, j'ai essayé de faire une requète sur les tables cat et scat (categories et sous categories) avec le code suivant :



<tt><?php

$sql1="SELECT * FROM gall_cat_hxh,gall_scat_hxh WHERE gall_cat_hxh.id=gall_scat_hxh.cat";

?>


et

$data=mysql_fetch_assoc($req1);

print_r($data) ; // pour voir ce que j'en retire



Voila ce qu'il m'affiche :

</tt><tt>Array ( [id] => 1 [catnom] => Les personnages [scatnom] => Gon [cat] => 1 )

Array ( [id] => 2 [catnom] => Les personnages [scatnom] => Kurapika [cat] => 1 )

Array ( [id] => 3 [catnom] => Les autres trucs [scatnom] => les lieux [cat] => 2 )

(id = id de la categorie, catnom: son nom, scatnom: nom de la sous
categorie (je vais rajouter l'id aussi que j'ai oublié, et cat
correspondant à la categorie a laquelle la sous categorie appartient)

Maintenant je voudrais en tirer ca :

</tt>
Les personnages : // categorie


Gon // sous categorie, lien vers une page listant les images de cette cat.


Kurapika // idem


Les autres trucs : // categorie


Les lieux // sous categorie



Le probleme c'est que je ne vois pas comment trier le tableau que je
recois :s quelqu'un peut m'aider ou me conseiller pour ma gallerie ? [javascript:Insert_Emoticon('/imgs2/smile_big.gif'); ]



merci d'avance [javascript:Insert_Emoticon('/imgs2/smile_shy.gif'); ]



<tt>

</tt><tt></tt>

2 réponses

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 9
5 oct. 2005 à 13:39
Salut,



Je te propose cette requète :

SELECT

cat.id,

cat.nom,

scat.id,

scat.nom,

image.id,

image.location

FROM

gall_cat_hxh AS cat,

gall_scat_hxh AS scat,

gall_image_hxh AS scat

WHERE

cat.id = scat.id

ORDER BY

cat.nom ASC,

scat.nom ASC,

image.id, ASC,

;



Et tu récupéreras des résultats pré-triés par MySQL (beacoup plus rapide que de trier dans le script PHP)



A+
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 9
5 oct. 2005 à 13:42
gall_image_hxh AS image... bien sûr !
Rejoignez-nous