Ma table exacte :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| CREATE TABLE messagerie (
id int(9) NOT NULL auto_increment,
timbre timestamp(12) NOT NULL default '',
fil int(9) NOT NULL default '0',
ref_msg int(9) NOT NULL default '0',
nom varchar(50) NOT NULL default '',
exp varchar(10) NOT NULL default '',
exp_email varchar(50) NOT NULL default '',
dest varchar(10) NOT NULL default '',
dest_email varchar(50) NOT NULL default '',
msg text NOT NULL,
lu varchar(10) NOT NULL default '',
online tinyint(1) NOT NULL default '1',
PRIMARY KEY (id)
) TYPE=MyISAM; |
Ma requête actuelle (après une 20aine d'autres essais infructueux), simple mais inefficace :
SELECT id,fil,timbre,nom,exp,exp_email,msg,id FROM messagerie WHERE online=1 ORDER BY timbre DESC
Ensuite j'utilise un WHILE pour faire défiler toutes les valeurs de FIL...
Le résultat actuel affiche la première valeur de TIMBRE (donc la plus petite) associée à chaque FIL, alors que je voudrais le contraire : la dernière valeur TIMBRE (la plus élevée).
Je ne sais pas si je m'exprime correctement... mais je ne vois pas comment faire mieux ;-)
Partager