Trier ses mails par date [Résolu]

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

Votre réponse

10 réponses

Meilleure réponse
Messages postés
3
Date d'inscription
mardi 22 juillet 2003
Dernière intervention
25 novembre 2005
- 23 nov. 2005 à 16:54
3
Merci
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 !!!

Merci aga007 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de aga007
Meilleure réponse
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
- 23 nov. 2005 à 17:54
3
Merci
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>

Merci cs_Anthomicro 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de cs_Anthomicro
Meilleure réponse
Messages postés
27
Date d'inscription
lundi 18 octobre 2004
Dernière intervention
26 septembre 2011
- 24 nov. 2005 à 11:27
3
Merci
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

Merci astyax 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

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