echo d'un array

Eléphant du PHP | 62 Messages

30 déc. 2010, 23:20

Bonsoir.J'ai creer un tableau ( array) contenant 120 adresses mails qui sont lu par une boucle ( foreach ) et envoyé par mail().je voudrais afficher avec echo la liste des mails que foreach a lu et envoyé mais je ne trouve pas la formule . echo' ... ? ' ;.merci de votre coup de pouce et bonne fêtes de fin d'année.

ViPHP
xTG
ViPHP | 7331 Messages

30 déc. 2010, 23:28

Pour ce que j'en comprends tu as ton traitement (un email séparé pour chaque adresse) et en dessous ton affichage.

Donc je procédera ainsi :
$liste_reussi = "";
$liste_rate = "";
foreach($array_mail as $email)
{
    if( mail($email,.......) ) // envoi de l'email
    {
       // envoi réussi pour cette adresse
       $liste_reussi = $liste_reussi . $email. ', ';
    }
    else
    {
       // envoi raté pour cette adresse
       $liste_rate = $liste_rate . $email. ', ';
    }
}
echo "L'email a été envoyé à : $liste_reussi<br />";
echo "Une erreur est survenue lors de l'envoi pour les destinataires suivants : $liste_rate"; 

Eléphant du PHP | 62 Messages

31 déc. 2010, 11:47

merci xTG , j'ai modifier bien entendu les noms et les couleurs mais ça marche impeccablement.Je m'aperçois que j'ai du chemin a faire pour la compréhension du langage php mais la j'étais dans l'urgence c'est vrai qu'il suffirait de réfléchir un peu plus longtemps , se creuser les méninges et ...en retirer une satisfaction personnelle :? .merci et passe de bonnes fetes de fin d'année. :) :) :) :) :)

Eléphant du PHP | 62 Messages

08 janv. 2011, 18:06

Bonsoir.Voila le script que tu m'as donné ne marche plus avec mon nouveau scritpt , les mails sont bien envoyés mais a 1 seule adresse au des 10 de ma base de donnée.si je remplace ton script par le mien plus simple ça marche les mails sont envoyés au dix adresses .J'ai essayé plusieurs combinaisons mais rien ne marche et pourtant c'est ton script que je voudrais .As tu une idée de ce qui cloche ? je te mets mon bout de script .merci.

while($resultat = mysql_fetch_object($requete))

foreach($resultat as $mail )

if(mail($mail, 'salut comment ça va', $message, $headers))

ton script

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

08 janv. 2011, 19:18

salut,

le code de xTG est basé sur le principe que les adresses sont dans un tableau.

donc vire le foreach et utilise $resultat['mail'] pour l'adresse email (si le champs dans la base s'appelle bien mail ;))


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 62 Messages

09 janv. 2011, 00:05

ça ne marche pas je vais chercher de mon coté.merci tout de même.a+. :roll:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

09 janv. 2011, 03:14

hum mwé donc coté rechercheou comment récupérer des infos depuis mysql

l'envoi du mail se fait donc dans le traitement de la requete !

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 62 Messages

09 janv. 2011, 11:12

la boucle while va chercher toutes mes adresses dans la table , ensuite je met foreach as $mail pour envoyer le message par mail () et je voudrais donc un echo sur les emails envoyés et un echo sur les mails non envoyés ( en tout j'ai 5000 mails :priere: ) car on ne sais jamais il peut y avoir des bugs et moi il faut que j'envoie mon message a tout le monde .

ViPHP
xTG
ViPHP | 7331 Messages

09 janv. 2011, 12:55

Le while te renvoie un enregistrement à la fois, il fait donc le travail du foreach comme te l'a indiqué Moogli. :/