Page 1 sur 1

Problème tout bête !

Posté : 23 févr. 2009, 14:59
par Romuald632
Bonjour,
J'ai un site avec des photos du monde entier.
Celles-ci sont classées par pays, mais je voudrai classer mes pays par Continent, voire Sous-continent.
Ma base MySQL est composée de 4 tables :
- Continent
- Sous-continent
- Pays
- Photos
Quelqu'un a-t-il une idée ?
Je pensait rajouter un champ dans ma table "Pays" du style "id_continent".
Peut-etre y-a-t-il plus simple ?
Merci de votre aide.

Posté : 23 févr. 2009, 15:09
par stopher
hi,

Ce problème est plus un probléme mysql , quels sont les relations de tes tables ?

Tout va se jouer avec des ORDER BY ... mais sans connaitre les relations entre tes tables celà me parait difficile.

Ch.

Posté : 23 févr. 2009, 15:16
par Romuald632
Voilà mes tables :
- Continents : id, continent
- Sous-continent : id, sous_continent
- Pays : id, nom
- Photos : id_photo, id_pays, image

Peut-être que ça va t'aider

Posté : 23 févr. 2009, 15:25
par stopher
Pour moi il manque les relations suivantes :

celle entre le pays et le sous continent et
celle entre le sous continent et le continent

- Continents : id, continent
- Sous-continent : id, sous_continent,id_continent
- Pays : id, nom,id_sous_continent
- Photos : id_photo, id_pays, image

Ce qui te permet de retrouver à partir d'une photo , n'importe quelles autres informations ( le pays , le sous continent et / ou le continent auquel le pays appartient ) via des jointures basiques

Apres , je ne suis pas un expert en gestion de bases de données ... mais ca me semble plus logique comme ceci ...

Ainsi tu peux organiser tes photos comme tu le souhaites :

par nom de photo
par pays
par sous continent
par continent

ect ... ( apres c'est à toi de creer les ordres et regroupements que tu souhaites )

Ch.

Posté : 23 févr. 2009, 15:50
par Ryle
Modération :
Romuald632, merci d'utiliser un titre clair et qui correspond bien à ta demande.

Tu peux corriger ton titre en éditant ton premier message.

Merci de prendre le temps de lire les règlements.

Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "SQL & Bases de données".

Rajout de clé

Posté : 23 févr. 2009, 17:00
par Romuald632
Donc j'ai créé mes nouvelles tables en rajoutant mes id_continent et id_sous_continent.
Maintenant je voudrai afficher mes pays par continent
Voilà mon code :
$pays = mysql_query("SELECT DISTINCT nom, drapeaux FROM photo LEFT JOIN continent ON continent.id_continent = continent.id AND pays ON photo.id_pays = pays.id ORDER BY nom") or die(mysql_error());