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 :

Mauvais ordre de résultat d'une requête


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Par défaut Mauvais ordre de résultat d'une requête
    Bonjour,

    Losrque je lance la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	$requete_formulaire="SELECT * FROM formulaire ORDER BY form_id DESC";
    	$resultat_formulaire = mysql_query($requete_formulaire,$base);
    	if(controle_table($resultat_formulaire,$requete_formulaire))
    		// Ajoute dans la liste les formulaires non mis en ligne
    		while ($formulaire = mysql_fetch_array($resultat_formulaire)).....
    La première valeur affichée est systématiquement la dernière malgré l'ordre de tri.
    Ex : z,a,b,c,d...

    Auriez-vous une idée sur la question ?

    Merci de vos réponses.

  2. #2
    Membre émérite Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Par défaut
    Oui, c'est normal, tu fais un tri décroissant.
    essaye plutot avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM formulaire ORDER BY form_id ASC
    ou meme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM formulaire ORDER BY form_id
    tout simplement

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    essai le tri ascendant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    order by form_id asc
    peut etre qj'ai pas bien compris aussi

  4. #4
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Qu'est-ce que form_id dans ta table ?
    Que fait la fonction controle_table() comme tâche ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Par défaut
    Citation Envoyé par macbook
    Qu'est-ce que form_id dans ta table ?
    Que fait la fonction controle_table() comme tâche ?
    - form_id est le champs clé de la table.
    - controle_table() vérifie que la requête ne contient pas d'erreur.

    ASC donne un ordre a,f,e,d,c,b ???
    DESC donne un ordre f,a,b,c,d,e

    Je cherche l'ordre a,b,c,d,e,f.

  6. #6
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Mais les valeurs a,b,c,d,e,f. correspondent à quel champs ?

  7. #7
    Membre chevronné Avatar de XtofRoland
    Profil pro
    Inscrit en
    Août 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 357
    Par défaut
    utilises le trim, ca m'etonnerait pas qu'il y ai des whites spaces qui foutent le brin dans l'ordre alphabétique.

    as tu exécuté ta requète directement dans mysql? (ou autre?) si oui c'est une question a poser ds un forum SQL
    si non.... hum hum as tu vraiment bien chercher avant de demander?

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Par défaut
    Citation Envoyé par macbook
    Mais les valeurs a,b,c,d,e,f. correspondent à quel champs ?
    Ces valeurs sont les valeurs de form_id (la clé de la table).

  9. #9
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Tu veux dire que tu as des ID alphabétiques ???

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 285
    Par défaut
    Citation Envoyé par XtofRoland
    utilises le trim, ca m'etonnerait pas qu'il y ai des whites spaces qui foutent le brin dans l'ordre alphabétique.
    +1

    Verifie que tu n'as pas des espaces au début de tes valeurs...

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Par défaut
    Citation Envoyé par macbook
    Tu veux dire que tu as des ID alphabétiques ???
    Oui, pourquoi un id n'est pas forcément un identifiant auto-incrémenté.

  12. #12
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Ah bon ?
    C'est pourtant ce qui se fait de plus simple.
    De plus les nombres ont l'avantage d'être une suite infinie (pas dans une base par contre) alors qu'avec des lettres... Faut pas s'étonner.

    Dans quel interclassement est ta base ?

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Par défaut
    Citation Envoyé par macbook
    Ah bon ?
    C'est pourtant ce qui se fait de plus simple.
    De plus les nombres ont l'avantage d'être une suite infinie (pas dans une base par contre) alors qu'avec des lettres... Faut pas s'étonner.

    Dans quel interclassement est ta base ?
    Que veux-tu dire par interclassement ?

  14. #14
    Membre chevronné Avatar de XtofRoland
    Profil pro
    Inscrit en
    Août 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 357
    Par défaut
    c'est marqué sur la premiere page de php my admin.

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Par défaut
    Citation Envoyé par XtofRoland
    utilises le trim, ca m'etonnerait pas qu'il y ai des whites spaces qui foutent le brin dans l'ordre alphabétique.

    as tu exécuté ta requète directement dans mysql? (ou autre?) si oui c'est une question a poser ds un forum SQL
    si non.... hum hum as tu vraiment bien chercher avant de demander?
    Cette requête fonctionne parfaitement dans mysql.
    Tu proposes "trim" mais à quelle variable l'appliquer ?

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Par défaut
    L'interclassement set trouve dans la variable character_set ?
    Si c'est ça la valeur est latin1.

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Par défaut
    Je suis désolée d'insister mais je ne pense pas que ce soit un pb d'interclassement puisque le tri est parfait sauf qu'il me met systématiquement la dernière valeur en premier et ce que ce soit ASC ou DESC.

Discussions similaires

  1. Mauvais résultat d'une requête SQL
    Par ramoucha23 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/08/2011, 16h45
  2. Réponses: 2
    Dernier message: 28/05/2010, 09h54
  3. Réponses: 21
    Dernier message: 17/06/2008, 10h54
  4. Transformer les résultats d'une requête dans un autre ordre
    Par keikun dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 12/04/2006, 16h29
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26

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