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 :

Trier des articles par thématiques [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2006
    Messages : 216
    Points : 159
    Points
    159
    Par défaut Trier des articles par thématiques
    Bonjour à tous,

    J'ai une table dans une base de données contenant un ensemble d'articles, chacun ayant une thématique pouvant être identique à celle d'un autre article.

    Par exemple :
    • Article 1 : thématique A
    • Article 2 : thématique B
    • Article 3 : thématique C
    • Article 4 : thématique A

    où les articles 2 et 4 ont la même thématique.

    J'aimerais afficher un résultat triant les articles par thématique.
    En somme :

    Thématique A :
    - Article 1
    - Article 4
    Thématique B :
    - Article 2
    Thématique C :
    - Article 3

    En soi, utiliser la clause WHERE ne me pose aucun problème.

    Cependant, comme il y a une possibilité d'ajouter de nouvelles thématiques, je ne sais pas comment faire pour obtenir un tel résultat...

    Peut-on faire ça avec une unique table ou faut-il prévoir une table "thematiques" avec la liste des thématiques ?

    Merci d'avance, je suis un peu perdu

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 26
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    Pourrais-tu donner un peu plus de détails sur la structure de ta base ? (par exemple est-ce que la table article est relier à une table thématique ? etc...)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2006
    Messages : 216
    Points : 159
    Points
    159
    Par défaut
    Bonjour et merci pour ta réponse,

    Il n'y a pas de table "thématiques", justement, ma question était de savoir si celle-ci était ou non nécessaire pour arriver à mes fins.

    La table articles contient d'autres champs : titre, contenu, etc.
    Je n'ai pas d'autres tables.

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    Avec une boucle ou deux et un petit peu de réflexion, tu dois pouvoir t'en sortir

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 26
    Points : 41
    Points
    41
    Par défaut
    Tu peux créer une table thématique avec dedans un identifiant (clé primaire) et un libellé. Pour relier ta table, tu peux mettre une clé étrangère dans la table article (par exemple id_thematique) du coup tu vas pouvoir faire un lien entre ta table thématique et ta table article.

    Ensuite, tu pourrais obtenir le résultat voulu grâce à des requêtes SQL.

    Par exemple :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT thematique.libelle, article.titre 
    FROM thematique, article
    WHERE thematique.id = article.id_thematique
    ORDER BY thematique.libelle, article.titre

    Cette requête donne la liste des thématiques rangées par ordre alphabétique avec l'article à côté.

    Exemple :

    Thématique A : Article 1
    Thématique A : Article 2
    Thématique B : Article 1
    Thématique B : Article 2
    Thématique B : Article 3

    etc..

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2006
    Messages : 216
    Points : 159
    Points
    159
    Par défaut
    Merci bien ! C'est nickel !

    Heretik : voui, voui... mais les conseils étaient surtout pour voir comment faire ça efficacement

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

Discussions similaires

  1. Trier des lignes par ordre alphabétique ?
    Par Evocatii dans le forum Eclipse
    Réponses: 0
    Dernier message: 11/08/2007, 11h26
  2. Trier des datas par jours
    Par malageof dans le forum LabVIEW
    Réponses: 9
    Dernier message: 29/03/2007, 12h36
  3. Re - Trier des données par ordre d'importance
    Par popoliline dans le forum Access
    Réponses: 14
    Dernier message: 25/08/2006, 12h29
  4. Trier des données par ordre d'importance
    Par popoliline dans le forum Access
    Réponses: 19
    Dernier message: 23/08/2006, 19h42
  5. Trier des fichiers par taille par le VB
    Par tedparker dans le forum Access
    Réponses: 2
    Dernier message: 23/08/2006, 11h59

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