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 :

Tri personnalisé des résultats d'une requête MySQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 101
    Points : 51
    Points
    51
    Par défaut Tri personnalisé des résultats d'une requête MySQL
    Bonjour à tous,

    Mon problème est le suivant :

    J'ai une base de données simple pour gérer un "carnet de notes d'élèves"
    Sur ma page permettant d'afficher les différentes classes et les élèves de ces classes, les classes s'affichent par ordre alphabétique.

    Je me retrouve donc avec :

    1ère....
    1ère...
    2nd ..
    2nd...
    STSS
    STS..
    Term ..
    Term...

    Hors je voudrais pouvoir les afficher par ordre hierarchique et avoir ainsi :

    2nd A
    2nd B
    2nd C
    1ère ES
    1ère L
    1ère S
    1ère STG Com
    1ère STG Gest
    Term STSS
    Term...
    STS 1
    STS 2
    ..

    C'est à dire qu'il me faut un tri personnalisé en sachant que ensuite je tri par ordre alphabétique pour un même groupe.

    J'aimerais vos conseils et votre aide car je ne sais pas si les modifs doivent se faire dans la requête ou dans le PHP voir les 2. Bon je pense que ca va plutot être le PHP mais n'étant qu'amateur débutant....

    Merci beaucoup..

  2. #2
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 279
    Points : 164
    Points
    164
    Par défaut
    Je pense que je rajouterais un champ en sql ,par exemple : level, comme ca je peux les classer comme je le veux.
    Puis a la fin de ma requete : order by level

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 101
    Points : 51
    Points
    51
    Par défaut
    Ton idée n'est pas mauvaise mais soit le prob c'est que soit je rajoute le level à la main soit j'en demande la saisie à l'utilisateur ce qui n'est pas du tout une bonne chose ou alors....

    ...je teste lors de l'ajout si le nom commence par 2%, 1%, STS%,...
    et en fonction de ca je fait un switch qui attribut le level qui convient avant la requete qui fera l'insertion ...

    Qu'en pense tu ?

  4. #4
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 279
    Points : 164
    Points
    164
    Par défaut
    Dsl hier le site buggeait pour moi, je n'avais pas donc vu ta reponse.

    Yes en effet si tu veux pas etre contraint de faire le level a la main,yes je ferai un script php qui regarde la premiere lettre de la classe et je renverai le level a mon insert
    comme ca quand j'insere une nouvelle classe dans ma base jai :
    id(auto), nom_de_classe, level

    php regarderai si c 2nd =>1...
    puis quand je fais mon select je trie par level puis par nom de classe...

    Je sais pas si ca marcherait mais je testerai quelque chose dans le genre
    jespere taider

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 101
    Points : 51
    Points
    51
    Par défaut
    Ayant dans ma base une table Etablissement et une table Sections, les deux étant "statiques" (aucune modif sur le contenu car elle servent pour du "tri").
    Voici la table Etablissement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    etnum     etabnom
    1	Ecole Primaire
    2	College
    3	Lycee
    Voici la table section :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    snum      snom       setabnum
    27	STS1	        3
    26	Terminale	3
    25	1ere	        3
    24	2nd	        3
    23	3eme	        2
    22	4eme	        2
    21	5eme	        2
    20	6eme	        2
    19	CM2          1
    18	CM1          1
    17	CE2           1
    16	CE1           1
    15	CP            1
    28	STS2         3
    J'ai donc fait mon tri dans ma requête SQL de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT cnum,cnom,snom FROM EP2_CLASSES [...] ORDER BY setabnum,snum,cnom

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Désolé de déterrer le sujet mais je pense que d'autres ont déjà eu se problème. Je viens de trouver la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT jour_nom
    FROM `dates_semaine`
    ORDER BY FIELD( jour_id, 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam', 'dim' ) ;
    Amicalement

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/03/2008, 15h41
  2. [MySQL] Tri des résultats d'une requête
    Par gueud dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/02/2008, 18h22
  3. Réponses: 2
    Dernier message: 02/12/2005, 21h21
  4. Réponses: 1
    Dernier message: 02/12/2005, 20h18
  5. Calcul à partir des résultats d'une requète
    Par Sendo dans le forum Access
    Réponses: 1
    Dernier message: 29/09/2005, 17h46

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