Trier ses mails par date

Résolu
astyax Messages postés 27 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 26 septembre 2011 - 2 nov. 2004 à 16:14
astyax Messages postés 27 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 26 septembre 2011 - 26 nov. 2005 à 17:34
Bonjour à tous,
voilà, je suis en train de construire un webmail. J'ai une page où s'affiche tous les mails présents dans la boîte aux lettres. J'utilise pour afficher les headers la fonction imap_overview qui est un tableau. Or, il me trie les emails du plus vieux au plus récent, et moi, ce que j'aimerai bien, ce serait le contraire. J'ai vu qu'il existait une fonction imap_sort qui permet de trier les emails selon la date, la taille etc...

Le problème c'est que je ne vois pas où l'utiliser...

Est-ce que quelqu'un pourrait me dire à quel endroit on la met et si c'est bien la bonne fonction à utiliser...

Ce serait très sympa :)
;:!

10 réponses

aga007 Messages postés 3 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 25 novembre 2005
23 nov. 2005 à 16:54
juste un oublie,

le 1 en fait c'est l'ordre du trie

et bien sur apres si tu veux afficher les donner de tes mails dans l'ordre, n'oublie pas de les afficher avec :



for($cpt=0;$cpt!= $nb_msg; $cpt++)

{

print $msg_entete[$ordre[$cpt]]

}

soit tableau de mails [ par ordre [ position dans le tableau de l'ordre] ]

faut dire que c'est vachement intuitif !!!
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
23 nov. 2005 à 17:54
Whaou ça déterre ici

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
3
astyax Messages postés 27 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 26 septembre 2011
24 nov. 2005 à 11:27
Salut à tous,

merci pour ton aide. En fait, le problème venait de mon put***
d'hébergeur qui ne supportait pas la fonction imap_sort. Ce que j'ai
fait depuis, et c'est ce que tu viens de proposer comme solution (mais
sous une autre forme :)c'est trier le tableau overview en fonction des
clés et par ordre inverse grâce à krsort(). Voilà. En tout cas un grand
merci.

A bientôt.



Astyax
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 nov. 2004 à 18:43
Salut :-)

Tu as tout ici : Fonction imap-sort

a ++

http://www.vulgarisation-informatique.com : entraide, dépannage et vulgarisation informatique
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
astyax Messages postés 27 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 26 septembre 2011
3 nov. 2004 à 09:11
Resalut ;{)

je n'arrive toujours pas à utiliser imap_sort. J'ai essayé un bout de code trouvé sur le site phpmanual mais ça ne marche pas non plus...
J'utilise le code ci-dessous pour avoir un aperçu des mails et , je dois bien l'avouer, je ne sais pas où utiliser imap_sort pour trier les mails par date d'arrivée... Help, juste encore un peu s'il vous plait ;)

$mbox = imap_open ('{'.$serveur.'/imap:143}INBOX', "$login", "$password");

$headers = imap_headers ($mbox);
$entete=array();
while(list($key,$val) = each($headers)) {
  $overview = imap_fetch_overview($mbox,$key+1, 0);
  
  $header = $overview[0]; 
  $sujet=($entete['sujet']=$header->subject);
  $envoyeur=($entete['envoyeur']=$header->from); 
  $date=($entete['date']=$header->date);
  $taille=($entete['taille']=$header->size);
  $taille=round(($taille/1000),1);
  $idtmail=($entete['idtmail']=$header->msgno); 
  $vu=($entete['vu']=$header->seen);

0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 nov. 2004 à 11:38
Dans ce cas essaye avec une solution détournée : la fonction array_multisort() pour classer ton tableau $entete[] en fonction de la date :-)

a ++

http://www.vulgarisation-informatique.com : entraide, dépannage et vulgarisation informatique
0
astyax Messages postés 27 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 26 septembre 2011
4 nov. 2004 à 07:05
Merci pour ton aide, Anthomicro, mais pour l'instant ça n'a rien donné... Y'a un truc que j'ai pas du pigé... Merci en tous cas :{)
0
aga007 Messages postés 3 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 25 novembre 2005
23 nov. 2005 à 16:36
tu peux essayer ca :

imap_sort ( $val_sur_boite , SORTARRIVAL , 1 );

tu met ton pointeur sur ta boite, ton critére de trie (c'est des
variable prédéfini, donc tu met juste ton critére, regarde la doc en
cas, puis tu met ..... je sais pas trop à koi serve les autres champs)

et ca marche
0
aga007 Messages postés 3 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 25 novembre 2005
25 nov. 2005 à 19:21
pas de pb

par contre je sais pas si tu sais comment passé un mail de non lut à lut en php ?

j'ai beau essayer mais bon ....

impossible

j'ai cherché et on dit que c'est impossible avec php.

j'espére que non, sinon mon apli est bancal
0
astyax Messages postés 27 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 26 septembre 2011
26 nov. 2005 à 17:34
Salut
je pense que c'est tout à fait possible
grâce au flag (drapeau) que tu mets sur le message.
Va jeter un oeil ici http://www.nexen.net/docs/php/annotee/function.imap-setflag-full.php

a+
0
Rejoignez-nous