Classement MYSQL (Order By)

Classement MYSQL (Order By) - PHP - Programmation

Marsh Posté le 11-01-2007 à 23:46:06    

Bonsoir à tous,
 
je viens vous demander de l'aide pour une requête qui m'est peu normale...
 
J'ai une table de petites annonces dans laquelle sont récupérées des informations dans d'autres tables via des identifiants externes (foreign key).
 
Ma table "annonce"
 
ID (primary)
ref
id_geolocation (foreign)
...
 
Ma table "geolocation"
id (primary)
intitule
 
Ma question est la suivante :
 
Comment afficher mes annonces en ordre décroissant de l'intitule de la table geolocation.
 
j'ai fait  

Code :
  1. SELECT * FROM annonce WHERE valide='1' ORDER BY id_geolocation DESC


le problème c'est que ce sont les id qui sont en décroissant
avec cette manière :

Code :
  1. SELECT * FROM annonce,geolocation WHERE valide = '1' ORDER BY geolocation.intitule DESC


 
mais ca m'affiche les id de la table geolocation et non pas les annonces.
 
Je ne vois pas comment tourner ma requete ??
 
Merci par avance de votre aide !
 
Si je ne suis pas clair dites le moi  :jap:  


---------------
Allroms
Reply

Marsh Posté le 11-01-2007 à 23:46:06   

Reply

Marsh Posté le 11-01-2007 à 23:50:19    

en précisant les champs ca marche !
lol
 

Code :
  1. SELECT annonce.id,annonce.id_geolocalisation,annonce.id_devise,annonce.id_type,annonce.reference FROM
  2. annonce,annonce_geolocalisation WHERE annonce.valide='1' ORDER BY annonce_geolocalisation.intitule ASC


 
si ca peut aider quelqu'un..

Reply

Marsh Posté le 11-01-2007 à 23:56:31    

Petite erreur :
 
Je viens de remarquer que la requete retourné autant d'enregistrements qu'il y en a dans la table "geolocation"
 
même s'il y a 1 annonce trouvée , il affichera le total de la table "geolocation" avec les mêmes données de l'annonce trouvée.
 
Pourquoi ??

Reply

Marsh Posté le 12-01-2007 à 00:06:27    

Parce que tu ne fais pas de jointures ou de liens entre tes deux tables.

Reply

Marsh Posté le 12-01-2007 à 03:08:21    

Il n'est pas utile de précisé tous les champs (c'est même mieux de ne pas le faire si tu ne les utilises pas). En revanche, il faut que tu fasse le lien entre les deux tables !
 

Code :
  1. SELECT a.*
  2. FROM annonce a INNER JOIN geolocation g ON a.id_geolacalisation = g.id WHERE a.valide = '1'
  3. ORDER BY g.intitule DESC


 
Edit : pourquoi c'est dans la sous-cat php ce post :??:


Message édité par kao98 le 12-01-2007 à 03:18:22

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 12-01-2007 à 13:56:20    

parce qu'il exécute sa requête sql dans un script php, j'imagine... :sarcastic:

Reply

Marsh Posté le 02-10-2010 à 16:55:09    

Ce post, par ailleurs très utile, devrait être déplacé dans la rubrique SQL comme cela a déjà été mentionné.
 
La remarque de rufo n'a aucun sens. Je rappelle que le SQL est un vrai language de programmation, très puissant et qui est beaucoup plus complexe que ce que certains croient...

Reply

Marsh Posté le 03-10-2010 à 14:43:36    

fribanana a écrit :


La remarque de rufo n'a aucun sens. Je rappelle que le SQL est un vrai language de programmation, très puissant et qui est beaucoup plus complexe que ce que certains croient...


 
Heureusement que tu es là pour l'apprendre à rufo  :lol: C'est pas comme s'il l'utilisait au taf :lol:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 04-10-2010 à 14:14:41    

fribanana a écrit :

Ce post, par ailleurs très utile, devrait être déplacé dans la rubrique SQL comme cela a déjà été mentionné.
 
La remarque de rufo n'a aucun sens. Je rappelle que le SQL est un vrai language de programmation, très puissant et qui est beaucoup plus complexe que ce que certains croient...


 
SQL un vrai langage de programmation :??:  :lol:  Pour rappel, SQL, ça veut dire : Structured Query Language. En français, ça donne à peu près langage de requêtes (interrogations) structurées. Le SQL permet certes de faire pas mal de choses genre les triggers, les vues ou les procédures stockées, mais c'est avant tout un langage pour manipuler des données dans une base et il n'a pas vocation à faire de la présentation (IHM). Maintenant, avant que tu me codes un Quake like en SQL, je demande à voir...


Message édité par rufo le 04-10-2010 à 14:15:52

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-10-2010 à 14:33:52    

On pari combien qu'il va venir en disant qu'en HTML et/ou CSS on ne peut pas non plus? :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 04-10-2010 à 14:33:52   

Reply

Marsh Posté le 04-10-2010 à 14:50:27    

Mais j'ai jamais dit que le html/css était un langage de programmation. Pour le coup, là, je dirais que c'est un langage de présentation.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-10-2010 à 14:52:02    

Non mais je sais bien hein :o
Je dis juste que si on part de l'idée que SQL en est un (très puissant), je pense qu'on va en faire de même pour les XML :bounce:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 04-10-2010 à 14:59:43    

Alors, le XML, c'est un meta-langage qui .... non, bon, je crois qu'on va arrêter là :D


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-10-2010 à 15:03:32    

Dit maître castor, le XSL c'est quoi  [:kbchris]
Ou mieux : le XSD :o


Message édité par esox_ch le 04-10-2010 à 15:04:46

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 04-10-2010 à 15:11:41    

Le XSL est un langage de transformation de données XML vers un autre format de données (XML, HTML, PDF...).
 
Le XSD est l'équivalent de la DTD mais au format XML. Le but est de valider qu'un document XML respecte bien la structure déterminée dans le XSD qu'il référence. La DTD faisait la même chose pour un doc XML sauf que la DTD n'était pas au format XML.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-10-2010 à 15:18:43    

Bon je vais arrêter sinon tu vas sauter par la fenêtre :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 04-10-2010 à 15:33:08    

Non, je peux pas, il pleut  :whistle:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-10-2010 à 15:55:43    

Ok alors je continue ? :D  
Bon allez on arrête sinon on va finir TT les deux pour pourrissage débile excessif un lundi :bounce:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed