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 :

fonction mail dans une boucle while


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 17
    Points : 16
    Points
    16
    Par défaut fonction mail dans une boucle while
    Bonjour,

    Je souhaite envoyer par mail des données de ma table.
    Cette table comporte plusieurs lignes mais lorsque d'active la fonction mail, une seule ligne seulement est envoyée (la dernière ligne d'enregistrement).

    Comment procéder pour que toutes les lignes figurent dans le mail.
    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
    25
    26
    27
    28
    29
    30
     
    $select = "SELECT * FROM panier WHERE numPanier = '".$_SESSION['numPanier']."' ";
    $result = mysql_query($select, $serveur)  or die ('Erreur 02 : '.mysql_error() );
    echo $select."<br>";
     
    while($row = mysql_fetch_array($result))
    {
    $idPanier = $row["id"];
    $idProduit = $row["idProduit"];
    $codeProduit = $row["codeProduit"];
    $nom = $row["nom"];
    $photo = $row["photo"];
    $qte = $row["qte"];
    $prixVenteTTC = $row["prixVenteTTC"];
    $prixVenteTTCTotal = $row["prixVenteTTCTotal"];
    $poids = $row["poids"];
    $fraisPort = $row["fraisPort"];
    $reduction = $row["reduction"];
    }
     
    $to = "monemail;
    $subject = "Accusé de réception de votre commande n° ".$_SESSION["numCommande"];
     
    //$headers ='From: "monemail";
    $headers ='From: "tonemail'."\n";
    $headers .='Reply-To: <a href="mailto:info@xxx.com">info@xxx.com</a>'."\n";
    $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
    $headers .='Content-Transfer-Encoding: 8bit';
     
    mail($to, $subject, $message, $headers);

  2. #2
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Il faut que tu mettes ton

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mail($to, $subject, $message, $headers);

    dans ta boucle while ainsi que ta variable $message (celle qui change en fonction de ton enregistrement lu)

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 17
    Points : 16
    Points
    16
    Par défaut envoyer le résultat d'une boucle dans un mail
    Citation Envoyé par Madfrix Voir le message
    Il faut que tu mettes ton

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mail($to, $subject, $message, $headers);

    dans ta boucle while ainsi que ta variable $message (celle qui change en fonction de ton enregistrement lu)


    Bonjour,

    Merci, j'ai tout mis dans ma boucle mais je reçois plusieurs mail correspondant au nombre de lignes enregistrées dans ma table, alors que je souhaite avoir un mail seulement contenant toutes les lignes de ma base de données.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    TU veux envoyer un seul mail, mais avec des infos correspondant à toutes les lignes dedans ? Peut-être que si tu nous donnais le code qui construit le message $message, ça aiderait...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    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
     
     
    $message = " ";
     
    while($row = mysql_fetch_array($result))
    {
    $idPanier = $row["id"];
    $idProduit = $row["idProduit"];
    $codeProduit = $row["codeProduit"];
    $nom = $row["nom"];
    $photo = $row["photo"];
    $qte = $row["qte"];
    $prixVenteTTC = $row["prixVenteTTC"];
    $prixVenteTTCTotal = $row["prixVenteTTCTotal"];
    $poids = $row["poids"];
    $fraisPort = $row["fraisPort"];
    $reduction = $row["reduction"];
     
     
    $message .= $idPanier." ".$idProduit." ". ......;
     
    }
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par tjoce Voir le message
    une seule ligne seulement est envoyée (la dernière ligne d'enregistrement).
    Ben c'est normal... à chaque boucle, tu écrases les résultats de la précédente !
    Donc comme le suggère Vil'Coyote dans la modification de ton code, il faut les stocker quelque part.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. Envoyer un mail dans une boucle WHILE
    Par tjoce dans le forum Langage
    Réponses: 6
    Dernier message: 19/12/2008, 12h21
  2. Problème de SCANF dans une boucle WHILE
    Par FidoDido® dans le forum C
    Réponses: 4
    Dernier message: 30/12/2005, 17h42
  3. [Conception] Problème de test dans une boucle while
    Par Cyrius dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/11/2005, 18h07
  4. Réponses: 6
    Dernier message: 17/06/2005, 16h51
  5. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    Réponses: 5
    Dernier message: 23/04/2004, 22h51

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