Classer une requête
Bonjour à tous,
je découvre en ce moment le PHP et je rencontre un problème qui, je crois, va m'obliger à m'intéresser à d'autres langages mais avant ça, je souhaitais un avis plus pro.
Imaginons une base de donnée qui contient 3 tables.
On cherche à référencer toutes les fois où une personne est allé dans un certain lieu (par exemple).
On crée une table qui associera "chaque fois que la personne se déplace dans un lieu" à une entrée. Donc "Machin va dans le lieu blabla aujourd'hui à tel heure" c'est une entrée de cette table.
Cette table inclut une colonne "lieu" qui contient un id (celui du lieu en question).
Maintenant on a une table qui contient les lieux. Chaque lieu (exemple : Crédit Lyonnais, Carrefour ...) a un id propre et appartient à un type de lieu (exemple : banque, supermarché etc ...). Chaque lieu est donc associé à un id de type de lieu.
Enfin une dernière table contient les types de lieux. Chaque type de lieu a un id propre.
Maintenant supposons que je veuille afficher un tableau qui contient ma liste de lieux. Si je veux le classer par nom, ou par id aucun soucis.
Je cherche à afficher dans mon tableau pour chaque lieu, le nombre de fois qu'une personne y est allée. Je dois donc créer une fonction qui cherche dans la première table le nombre d'entrée où le lieu correspond à l'id du lieu sélectionné.
Mais pour afficher ce tableau , j'avais sorti les informations de ma table lieux avec une requête du type SELECT * FROM lieux ORDER BY nom ...
Comment classer mon tableau par nombre de fois qu'une personne est allée dans ce lieu (sachant que cette info est calculée à partir d'une fonction qui cherche dans la première table).
Même soucis pour ma table des types de lieux.
Comment dois-je faire ?
Merci d'avance pour les idées qui pourront m'aiguiller.
P.S : En relisant, je me dis qu'un petit schéma faciliterai la compréhension.
Deux petits shémas explicatifs :
-
pianobass.free.fr -
pianobass.free.fr