Vous n'êtes pas connecté - 1 Membre connecté
Catégories
Graphisme
Flash (48)
Print (64)
Programmation
PHP (63)
Base de données (17)
ASP (2)
CSS (23)
Hardware
PC (34)
Mac (14)
Linux (5)
Divers
Blabla (237)
868 Sujets
11777 Réponses
Programmation > Base de données > Classer une requête
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
Posté le 24 04 2007 à 11h17
aguenard - Membre

Réponses - Classer une requête
d'acc avec le PS (nan pas le parti socialiste mais le post scriptum)

en fait je pense que le php n'a rien à voir la dedans ^^ ou trés peu

d'aprés ce que j'ai compris pas besoin de s'intéresser à d'autres langages, sql suffira

en fait le but est de faire une relation entre tes tables et la jointure est ce que tu cherches :
sql.developpez.com

enfin si toutefois j'ai plus ou moins bien compris tes explications ;)
Posté le 24 04 2007 à 11h43
senkante - Membre - www
 Je te fais ça l'arrache de tête :


SELECT personne.*, 
COUNT(deplacement.idDeplacement) AS nbDepl FROM personne 
LEFT JOIN deplacement ON(personne.idPersonne=deplacement.idPersonne) 
GROUP BY personne.idPersonne 
ORDER BY nbDepl DESC
Posté le 24 04 2007 à 12h15
benzor - Administrateur - www
Comme benzor je pense que le LEFT JOIN est l'idéal pour ce genre de requête.
Posté le 24 04 2007 à 12h18
askhanir - Membre - www
Pareil, c'est une question de jointure. Et ça n'a rien à voir avec du PHP :-)
Posté le 24 04 2007 à 19h44
symzo - Membre - www
Bon je crois que j'ai largement sous-estimé les capacités de SQL, je vais lire l'article de developpez.com merci pop.
Et surtout merci ben tu m'as mâché le boulot !
Posté le 24 04 2007 à 21h32
aguenard - Membre
Sujets Base de données
<< 1 2 >>
auto incremente et (...)
Auteur : senkante
Posté le 03 04 2008 à 19h27
12 Réponses (Nouveau sujet)
Sujet visité 917 fois
requete sur le mois (...)
Auteur : o0o
Posté le 10 07 2008 à 16h16
4 Réponses (Nouveau sujet)
Sujet visité 180 fois
Chercher DB (...)
Auteur : benzor
Posté le 10 01 2008 à 11h44
4 Réponses (Nouveau sujet)
Sujet visité 628 fois
iso et bordel
Auteur : senkante
Posté le 14 12 2007 à 14h56
4 Réponses (Nouveau sujet)
Sujet visité 791 fois
URGENT HELP
Auteur : benzor
Posté le 16 11 2007 à 09h38
32 Réponses (Nouveau sujet)
Sujet visité 1447 fois
[résolu] (...)
Auteur : o0o
Posté le 15 08 2007 à 16h31
4 Réponses (Nouveau sujet)
Sujet visité 853 fois
world database
Auteur : senkante
Posté le 28 06 2007 à 22h21
9 Réponses (Nouveau sujet)
Sujet visité 1069 fois
[résolu] AND ?
Auteur : senkante
Posté le 11 06 2007 à 16h43
6 Réponses (Nouveau sujet)
Sujet visité 668 fois
Problème envoie (...)
Auteur : SKGZ
Posté le 13 10 2006 à 20h06
4 Réponses (Nouveau sujet)
Sujet visité 1083 fois
[php&bdd] erreur d' (...)
Auteur : otar
Posté le 09 05 2007 à 13h02
5 Réponses (Nouveau sujet)
Sujet visité 687 fois
<< 1 2 >>
Mentions légales   -   Crédits   -   Nous contacter   -   © Benzor 2006