Php/MySQL - Ordonner des résultats
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Php/MySQL - Ordonner des résultats



  1. #1
    Alexbad

    Php/MySQL - Ordonner des résultats


    ------

    Bonjour,

    J'ai codé mes propres forums en PHP en utilisant une base de données MySQL. Présentement, sur chaque forum, les sujets sont ordonnés par date de création, et non en fonction de la date du dernier message.

    Je vais copier la structure de la table ici, et l'expliquer ensuite :
    Code:
    CREATE TABLE `forums_sujets` (
      `id` mediumint(9) NOT NULL auto_increment,
      `sujet` varchar(255) NOT NULL default '',
      `par` varchar(255) NOT NULL default '',
      `date` varchar(255) NOT NULL default '',
      `message` longtext NOT NULL,
      `forum` mediumint(9) NOT NULL default '0',
      `nbre_vu` mediumint(9) NOT NULL default '0',
      `type` int(1) NOT NULL default '0',
      `resolu` int(1) NOT NULL default '0',
      `verrou` int(1) NOT NULL default '0',
      `msg_parent_id` mediumint(9) NOT NULL default '0',
      PRIMARY KEY  (`id`)
    );
    Le champ id contient l'id du message, le champs sujet contient le titre. Le champ "par" contient le pseudo de celui qui a posté, le champ "date" contient le timestamp. Le champ "message" contient le texte du post. Le champ "forum" contient l'id du forum auquel le sujet est associé. Nbre_vu, le nombre de fois que le post a été vu. "type" contient 0 si ce n'est pas un post-it, et 1 si c'en est un. "resolu" contient 0 si le sujet n'est pas résolu, 1 s'il l'est. "verrou" contient 0 si le sujet n'est pas verrouillé, 1 s'il l'est.

    Le plus important maintenant, le dernier. "msg_parent_id" contient 0 s'il s'agit du premier message d'une discussion (un sujet), et s'il s'agit d'une réponse, il contient l'id du sujet auquel il est associé.

    Maintenant, sur un forum, quand je récupère les sujets, je procède avec cette requête :

    Code:
    SELECT * FROM forums_sujets WHERE msg_parent_id=0 ORDER BY id DESC
    J'obtiens donc les sujets ordonnés par date décroissante. J'aimerais les ordonner par dernière réponse. Je me doute avoir besoin des jointures mais je ne connais pas trop et la doc en français sur le site de MySQL est un peu difficile à comprendre...

    Alors voilà, si vous désirez de plus amples précisions, faites-moi le savoir

    -----

  2. #2
    nulnul7

    Re : Php/MySQL - Ordonner des résultats

    Salut!
    Supposant que MySql équivaut à d'autres bases SQL (je connais Ingres et Oracle un peu) je ferai un truc comme ceci :

    select id, sujet, par, date, message, forum, nbr_vu, type, resolu, verrou, max(msg_parent_id)
    from forum_sujets
    order by date desc (par exemple)

    En principe ça te donnera les derniers messages par sujet, triés par date décroissante.
    Je ne sais pas en revanche si le sujet a pu être modifié en cours de route par les utilisateurs?

Discussions similaires

  1. gestion projet : Mysql/php et drag and drop
    Par inviteb271042d dans le forum Logiciel - Software - Open Source
    Réponses: 20
    Dernier message: 18/04/2008, 00h30
  2. test avec PHP MySQL
    Par SunnySky dans le forum Internet - Réseau - Sécurité générale
    Réponses: 2
    Dernier message: 18/02/2007, 02h18
  3. [PHP/MySQL] Pb création agenda
    Par invitebfe3532c dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 03/11/2006, 07h15
  4. petits problemes liés à PHP ,MySQL
    Par invitee17aeca5 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 24/12/2005, 12h05
Découvrez nos comparatifs produits sur l'informatique et les technologies.