IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème avec ORDER BY [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Problème avec ORDER BY
    Bon je fais rarement appel a de l'aide sur les forums mais la c'est incompréhensible alors si quelqu'un tiens la solution ça serait cool.

    Ceci ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SELECT * FROM vto_articles ORDER BY index WHERE categorie = 'RUBRIQUE'");
    alors que ceci fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SELECT * FROM vto_articles WHERE categorie = 'RUBRIQUE'");
    J'ai donc un probleme avec ORDER BY. J'ai egalement essayé de classer par d'autres colonnes de mon tableau mais j'ai le même bug.
    Aidez moi svp !!!

  2. #2
    Membre éclairé Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    Par défaut
    Tout bête : le order by doit être après la clause Where

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut c'est pas ça
    Arfff tu m'as fait une fausse joie... c'est pas ça...

    Ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SELECT * FROM vto_articles WHERE categorie = 'RUBRIQUE' ORDER BY index");
    ...ne marche pas non plus

  4. #4
    Membre éclairé Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    Par défaut
    Bon, alors déjà un truc important :quand on fait une requête, on ajoute or die(mysql_error()) ce qui donnerais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("tarequete") or die(mysql_error());
    Donne nous l'erreur retournée, et on verra.


    edit :
    index doit être un mot réservé, essaye aussi de l'échaper avec des guillemets.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bon trés exactement voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    /* 38 */ $request_rub = mysql_query("SELECT * FROM vto_articles ORDER BY 'index' WHERE categorie = 'RUBRIQUE' ORDER BY index ");	
    /* 39 */ while ($line_rub = mysql_fetch_array($request_rub)) {
    et voici le message d'erreur optenu :
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ***/index.php on line 39
    ce message n'aparait que lorsqu j'utilise la fonction ORDER BY

    comme j'ai précisé plus haut j'ai deja essayé avec d'autre entrée que 'index' !!!!
    C'est incompréhensible !!!

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $request_rub = mysql_query("SELECT * FROM vto_articles ORDER BY 'index' WHERE categorie = 'RUBRIQUE' ORDER BY index "); 
    while ($line_rub = mysql_fetch_array($request_rub)) {
    c'est ce que tu as là, ton ORDER BY apparait 2 fois. essaye plutot avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $request_rub = mysql_query("SELECT * FROM vto_articles WHERE categorie = 'RUBRIQUE' ORDER BY index "); 
    while ($line_rub = mysql_fetch_array($request_rub)) {
    mais faut que le champ index soit bien dans la table aussi ^^

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Evidemment si tu laisses le ORDER BY au milieu de ta requete ca va marcher beaucoup moins bien étourderie quand tu nous tiens

    EDIT : ouwned
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Alors ceci marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SELECT * FROM vto_articles WHERE categorie = 'RUBRIQUE' ORDER BY 'index'");
    C'est bien ça me fait plaisir... mais par contre je ne comprend pas pourquoi vu que j'ai deja utilisé ORDER BY des centaines de fois avant le WHERE et sans delimiteur..... encore un mystere.....
    Merci pour m'avoir mis sur la voix !

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Le ORDER BY qui apparait 2 fois c'est juste que je m'étais planté dans le code que j'ai envoyé...

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bon j'ai rencontré d'autre bug a la con a certain endroit.... N'appelez jamais une de vos colonnes "index" pasqu'il ya des moment ou ca coince completement.... du coup je l'ai renomé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec ORDER BY et chars
    Par vdumont dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 02/05/2007, 22h20
  2. Problème avec ORDER BY et champ de type "text"
    Par mouchkar dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 04/12/2006, 14h38
  3. [Requête]Problème avec ORDER BY NZ
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 5
    Dernier message: 20/11/2006, 20h27
  4. [MySQL] problème avec ORDER BY _ DESC avec des flottants
    Par Hayabusa dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/08/2006, 00h00
  5. problème avec order by et union
    Par ghostdog dans le forum Langage SQL
    Réponses: 8
    Dernier message: 23/05/2006, 09h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo