voila, je suis en train de faire un forum, et j'ai quelques petit problemes avec ma requete pour recuperer les categories, et pour chaque categorie, la date du dernier message la concernant.

voici ma base de donnée (à celui-ci s'ajoute une table utilisateur, mais elle n'est pas utile)
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
17
18
19
20
 
CREATE TABLE `frm_category` (
  `id_cat` int(11) NOT NULL default '0',
  `name` varchar(30) NOT NULL default '',
  `id_parent` int(11) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
 
CREATE TABLE `frm_post` (
  `id` int(11) NOT NULL auto_increment,
  `id_author` int(11) NOT NULL default '0',
  `id_parent` int(11) NOT NULL default '0',
  `title` varchar(60) NOT NULL default '',
  `text` text NOT NULL,
  `category` int(11) NOT NULL default '0',
  `is_mp` int(11) NOT NULL default '0',
  `crea_date` int(11) NOT NULL default '0',
  `mod_date` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
j'ai cette requete pour l'instant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
SELECT c.id_cat as cat,c.name, count(p.category) as nbre_post,p.crea_date
FROM frm_category as c
LEFT OUTER JOIN frm_post as p ON (c.id_cat = p.category)
WHERE c.id_parent=0
GROUP BY c.id_cat,c.name
ORDER BY c.id_cat,p.crea_date DESC;
et bien sur, cela ne marche pas... la date renvoyée est celle du premier post... alors que je veux le dernier... je ne sais pas comment faire (à part faire une 2eme requete bien sur...)

j'ai oublié de donner ma version de mysql
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
mysql  Ver 14.7 Distrib 4.1.14, for pc-linux-gnu (i686) using readline 5.0