Trier ses mails par date [Résolu]

astyax 27 Messages postés lundi 18 octobre 2004Date d'inscription 26 septembre 2011 Dernière intervention - 2 nov. 2004 à 16:14 - Dernière réponse : astyax 27 Messages postés lundi 18 octobre 2004Date d'inscription 26 septembre 2011 Dernière intervention
- 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 :)
;:!
Afficher la suite 

10 réponses

Répondre au sujet
aga007 3 Messages postés mardi 22 juillet 2003Date d'inscription 25 novembre 2005 Dernière intervention - 23 nov. 2005 à 16:54
+3
Utile
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 !!!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de aga007
cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention - 23 nov. 2005 à 17:54
+3
Utile
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>
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Anthomicro
astyax 27 Messages postés lundi 18 octobre 2004Date d'inscription 26 septembre 2011 Dernière intervention - 24 nov. 2005 à 11:27
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de astyax
cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention - 2 nov. 2004 à 18:43
0
Utile
Salut :-)

Tu as tout ici : Fonction imap-sort

a ++

http://www.vulgarisation-informatique.com : entraide, dépannage et vulgarisation informatique
Commenter la réponse de cs_Anthomicro
astyax 27 Messages postés lundi 18 octobre 2004Date d'inscription 26 septembre 2011 Dernière intervention - 3 nov. 2004 à 09:11
0
Utile
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);

Commenter la réponse de astyax
cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention - 3 nov. 2004 à 11:38
0
Utile
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
Commenter la réponse de cs_Anthomicro
astyax 27 Messages postés lundi 18 octobre 2004Date d'inscription 26 septembre 2011 Dernière intervention - 4 nov. 2004 à 07:05
0
Utile
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 :{)
Commenter la réponse de astyax
aga007 3 Messages postés mardi 22 juillet 2003Date d'inscription 25 novembre 2005 Dernière intervention - 23 nov. 2005 à 16:36
0
Utile
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
Commenter la réponse de aga007
aga007 3 Messages postés mardi 22 juillet 2003Date d'inscription 25 novembre 2005 Dernière intervention - 25 nov. 2005 à 19:21
0
Utile
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
Commenter la réponse de aga007
astyax 27 Messages postés lundi 18 octobre 2004Date d'inscription 26 septembre 2011 Dernière intervention - 26 nov. 2005 à 17:34
0
Utile
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+
Commenter la réponse de astyax

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.