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 :

[SQL] Problème d'ordre numérique


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 139
    Points : 76
    Points
    76
    Par défaut [SQL] Problème d'ordre numérique
    Bonjour,
    Je vous écris car j'ai un problème d'affichage par ordre numérique lorsque je sors des données de la BD par ordre alphabétique : si j'ai 1, 2 et 10 il m'affichera :
    1
    10
    2
    Savez-vous comment faire pour rectifier ce problème ?
    Je travail avec Easy/php.

    @+ Seb

  2. #2
    Membre averti Avatar de max44410
    Étudiant
    Inscrit en
    Juin 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2003
    Messages : 426
    Points : 301
    Points
    301
    Par défaut
    Order By <champ> DESC ??

    Je ne comprends pas trop ton probleme...
    quel est le type de ton champ ??
    peut on voir la requete que tu execute ??

  3. #3
    Membre averti
    Homme Profil pro
    Coordinateur développement web
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Coordinateur développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 412
    Points
    412
    Par défaut
    Salut,

    Ton champ doit surement être en type varchar ou char, ce qui provoque ce tri. en effete lors d'un tri comme tu souhaite le faire, 10 est avant 2 si ton type de champ n'est pas de type numérique.

    Deux soluce :
    • Soit tu modifier le type de ton champ
    • Soit tu utilise la fonction Cast en sql pour transformer ton champ varchar en integer
    Cordialement

    Michael
    Toutes mes références en ligne : http://www.developpeur-web-php.fr

  4. #4
    Membre averti Avatar de nicocsgamer
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 321
    Points : 342
    Points
    342
    Par défaut
    Sinon tu peux utiliser natsort pour trier ton tableau une fois sortie de la base.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 139
    Points : 76
    Points
    76
    Par défaut
    Merci à tous d'avoir pris le temps de m'aider.

    Ma requête est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT NUMGARAGE, NOMGARAGE
    FROM GARAGE
    ORDER BY NUMGARAGE, NOMGARAGE
    En effet mon NOMGARAGE est en VARCHAR d’où mon affichage :
    Garage 1
    Garage 10
    Garage 2

    Comme mon champ est mi-alphabétique et mi-numérique je ne pense pas pouvoir modifier le type de mon champ ou de transformer mon champ. Je vais essayer avec natsort il me semble que c’est exactement ce qu’il me faut il traite les chaînes alphanumériques.

    MERCI
    @+ Seb

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 139
    Points : 76
    Points
    76
    Par défaut
    Je n'arrive pas à utiliser la fonction natsort est ce que vous pourriez m'aider.

    Mon code source est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $sql = "SELECT NUMGARAGE, NOMGARAGE FROM GARAGE ORDER BY NUMGARAGE, NOMGARAGE";
    $requete = mysql_query( $sql, $cnx ) ;
    while( $result = mysql_fetch_object( $requete ) ){
    ...
    $result->NUMGARAGE
    $result->NOMGARAGE
    ...
    }
    J'ai essayer en mettant après la boucle while :
    mais cela ne m'a rien fait

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/08/2006, 19h49
  2. [SQL] problème pour faire ma requete
    Par seb.briet dans le forum Langage SQL
    Réponses: 4
    Dernier message: 29/12/2004, 16h51
  3. [PL/SQL] problème de trigger
    Par Chuck67 dans le forum Oracle
    Réponses: 14
    Dernier message: 09/12/2004, 23h17
  4. [SQL] problème avec les date et les group By
    Par Stef784ever dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/11/2004, 09h18
  5. [Debutant][Join Sql] problème de join
    Par ultimax dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/11/2004, 12h01

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