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] Système gestion dernier message + nombres sujets/réponses


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut [SQL] Système gestion dernier message + nombres sujets/réponses
    Bonjour mon problème est le suivant :

    J'ai une liste de forums.
    Chaque forum a des sujets, et chaque sujet a des réponses.

    J'aimerais savoir la façon la plus optimisé de stoquer et ensuite récupérer les informations suivantes :
    - Dernier sujet / réponse sur un forum
    - Nombre de sujet / réponse sur un forum

    Merci d'avance =)

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Et dans la langue de Molière cela donne ?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 909
    Points : 1 014
    Points
    1 014
    Par défaut date BIGINT
    tu crées un champ dans la table qui va récupérer la date d'envoi du message/réponse sous forme de BIGINT. Puis quand tu veux récupérer le dernier message/réponse tu mets à la fin de ta requête SQL:

    DESC signifie DESCENDANT (décroissant) à l'inverse de ASC qui signifie ASCENDANT (croissant). Donc tu auras la date la plus récente en premier et par là même, le dernier message/réponse posté(e).

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT g.id AS g_id, b.id AS b_id, g.title AS g_title, b.title AS b_title, b.body, COUNT(t.id) AS nb_t, COUNT(m.id) AS nb_m, t.title AS t_title, t.id AS t_id, m.id_user AS m_id_user, m.id AS m_id
    FROM ilya_board AS b
    INNER JOIN ilya_board_group AS g ON (b.id_group=g.id)
    LEFT JOIN ilya_topic AS t ON (t.id_board=b.id)
    LEFT JOIN ilya_message AS m ON (m.id_topic=t.id)
    GROUP BY b.id
    ORDER BY g.ORDER ASC, b.ORDER ASC, t.uptime DESC

    c'est ce que j'ai fait, mais il ordonne pas ...

  5. #5
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 909
    Points : 1 014
    Points
    1 014
    Par défaut
    Citation Envoyé par Dinan
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT g.id AS g_id, b.id AS b_id, g.title AS g_title, b.title AS b_title, b.body, COUNT(t.id) AS nb_t, COUNT(m.id) AS nb_m, t.title AS t_title, t.id AS t_id, m.id_user AS m_id_user, m.id AS m_id
    FROM ilya_board AS b
    INNER JOIN ilya_board_group AS g ON (b.id_group=g.id)
    LEFT JOIN ilya_topic AS t ON (t.id_board=b.id)
    LEFT JOIN ilya_message AS m ON (m.id_topic=t.id)
    GROUP BY b.id
    ORDER BY g.ORDER ASC, b.ORDER ASC, t.uptime DESC

    c'est ce que j'ai fait, mais il ordonne pas ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORDER BY g.ORDER ASC, b.ORDER ASC, t.uptime DESC
    Tu aurais pas oublié tes champs derrière les alias de tables? dans le genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORDER BY g.nomchampg ASC, b.nomchampb ASC, t.uptime DESC
    C'est juste une question comme ça par hasard...

Discussions similaires

  1. Récupérer derniers messages, système de messagerie
    Par spike2 dans le forum Requêtes
    Réponses: 3
    Dernier message: 20/04/2011, 06h04
  2. Gestion de fichier. Nombre disponible. Nom du dernier fichier
    Par Caxton dans le forum Entrée/Sortie
    Réponses: 31
    Dernier message: 24/08/2009, 13h23
  3. [SQL] Forum - Dernier message
    Par Oprichnik dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 29/03/2007, 20h13
  4. [SUJET] Raccourci dernier message
    Par BiM dans le forum Evolutions du club
    Réponses: 8
    Dernier message: 01/08/2006, 14h31
  5. Gestion des message windows dans les threads
    Par billyboy dans le forum Windows
    Réponses: 5
    Dernier message: 06/10/2003, 17h25

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