IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Envoyer mail multiple avec variable d'une requete mysql


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut Envoyer mail multiple avec variable d'une requete mysql
    Bonjour ou bonsoir !!

    je n'arrive pas a trouver la solution de comment mettre le résultat d'une requete mysql pour envoyer un email multiple

    sur ce script,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
     
    $ListeAnnule = "SELECT id, login, email FROM clients
    WHERE email IN ('abc@hotmail.com','def@live.ca') ";
     
    	$data = mysql_query($ListeAnnule) or die('Erreur - table rd & p : ' . mysql_error());
    	$tableau_res = array();
     
     
    	while($info = mysql_fetch_array($data, MYSQL_ASSOC )) {
     
     
    	$tableau_res[$info['id']] = ($info);
     
    	$rdEmail= (htmlentities($info['email']));
     
    }
     
    $ListeEmail = $tableau_res['email'];
    print_r ($ListeEmail).'<br/>';
     
    var_dump ($tableau_res);			
     
    ?>
    la valeur de $tableau_res qui contient

    Array ( [15] => Array ( [id] => 15 [login] => Sandy [email] => def@live.ca ) [12] => Array ( [id] => 12 [login] => monlou [email] => abc@hotmail.com ) )
    alors que je n'arrive pas avoir la valeur de :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
     $tableau_res['email']

    bizzare, je comprends pas!!!!!!!!!!!


    je voudrais obtenir un tableau des adresse email :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
     $tableau_res['email']
    de la requete pour envoyer un mail

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    foreach ($tableau_res['email'] as $destinataire) {
    		$to = $destinataire;
        } 
     
    		if (mail($to,$sujet,$message,$headers)) {
     
    			echo' Operation reussie';
    	}else {
    			echo' Mail non envoye';
     
    	}
    mais j'obtiens cet erreur:

    Warning: Invalid argument supplied for foreach() in
    Mail non envoye

    ca fait plusieurs jours que je suis la dessus
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait!
    Mark Twain.

  2. #2
    Membre éprouvé
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Points : 1 057
    Points
    1 057
    Par défaut
    Salut,
    ton tableau res est formé comme ca :
    id => array
    Tu ne peut donc pas boucler sur $tableau_res['email'], essaye plutot comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach ($tableau_res as $id => $infosDestinataire) {
        $to = $infosDestinataire['email'];
    }
    De plus je ne comprend pas pourquoi dans ton while tu met la valeur du mail dans une variable $rdEmail que tu n'utilise plus par la suite, a tu mis tout le code ?

    EDIT : La variable $to ne sera pas un tableau de mails, elle contiendrai simplement le dernier email parcouru par le foreach, si tu veut en faire un tableau, fais plutot comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $to[] = $infosDestinataire['email'];
    Par contre je ne crois pas que la fonction mail accepte un tableau de mails mais seulement une seule adresse, il faut tester, sinon tu peut mettre l'envoi de mail dans ta boucle


    Les boutons et existent, servez-vous en

  3. #3
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    oui merci amoireau

    je l'ai mis dans la boucle et ca roule super !
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait!
    Mark Twain.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Variable dans une requete Mysql
    Par shelko dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/02/2008, 20h06
  2. Souci avec une variable dans une requete
    Par polianita dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 21/06/2006, 17h05
  3. Variable dans une requete
    Par faayy dans le forum Access
    Réponses: 5
    Dernier message: 20/06/2005, 16h54
  4. PB avec MATCH dans une requete.
    Par pjl dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/04/2004, 11h18
  5. [syntaxe] Gerer les variables dans une requete
    Par rastapopulos dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 15/04/2003, 12h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo