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

Requêtes MySQL Discussion :

Comment afficher d'abord les sujets étiqueté ?


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Points : 73
    Points
    73
    Par défaut Comment afficher d'abord les sujets étiqueté ?
    Bonjour à tous,

    Je suis en train d'écrire un petit forum (en PHP/MySQL) et je bloque méchamment sur un point :

    Comme dans mon forum chaque sujet peut être :
    • un dossier ou
    • un sondage ou
    • étiqueté ou
    • une info,

    je voudrais classer leur affichage (qui est déjà fonction de la date, comme dans tous les forums) en disant que : tous les sujets étiquetés doivent apparaitrent avant les autres.

    Donc pour résumer, j'aimerais bien que lorsque sur mes pages la liste des sujets s'affiche, que tous les sujets étiquetés s'affichent en haut, suivie des autres classés selon la date.

    Je que je souhaiterais, c'est y parvenir via une seule requête.

    Si cela peut aider, voici un copier collé (Ctrl+C, Ctrl+V : j'adore ) de ma requête actuelle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT * 
    FROM `theme`,`salon`,`sujet`,`id`,`emoticone`,`protection`,`tag` 
    WHERE theme.`numero_theme`=salon.`numero_theme` AND salon.`numero_salon`=sujet.`numero_salon` AND id.`numero_id`=sujet.`numero_id` AND emoticone.`numero_emoticone`=sujet.`numero_emoticone` AND protection.`numero_protection`=sujet.`numero_protection` AND tag.`numero_tag`=sujet.`numero_tag` 
    ORDER BY `date_sujet` DESC
    Autre précision : on peut reconnaitre un sujet qui est étiqueté car dans sa table, le champ numero_tag est égal à 3.

    Bon week end 8)

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut Re: Comment afficher d'abord les sujets étiqueter ?
    Essaye ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (...)
    ORDER BY (numero_tag=3) DESC, date_sujet DESC
    Ca devrait être un raccourci pour:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (...)
    ORDER BY IF(numero_tag=3, 1, 0) DESC, date_sujet DESC
    (en admettant que MySQL fasse une conversion implicite d'un booléen vers un entier vallant 0 ou 1)
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Points : 73
    Points
    73
    Par défaut Parfait !
    Bravo ! Effectivement, après avoir ajouté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORDER BY(sujet.`numero_tag`=3) DESC
    ...mes sujets étiquetés s'affichent en tête de liste comme souhaité
    Merci pour l'aide apportée

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/12/2014, 08h10
  2. Réponses: 10
    Dernier message: 01/09/2011, 15h34
  3. Comment afficher des images les unes devant les autres avec GTK+ ?
    Par getgetxx dans le forum GTK+ avec C & C++
    Réponses: 19
    Dernier message: 30/04/2009, 20h58
  4. Réponses: 9
    Dernier message: 12/06/2008, 15h37

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