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

PHP & Base de données Discussion :

Envoyer un email avec un tableau récapitulatif des portables à rendre [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de bilou95
    Inscrit en
    Septembre 2006
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 433
    Par défaut Envoyer un email avec un tableau récapitulatif des portables à rendre
    Bonjour voici une portion de code que j'ai développé ... Cela me permet de recevoir des alertes d'emails dès qu'un prêt d'ordinateur n'a pas été rendu à la date fixée préalablement.
    Actuellement je reçois plusieurs emails pour chaque prêt dépassé. Je voudrais qu'un seul email soit envoyé avec un tableau récapitulant tous les prêts avec les dates fixées, dépassées.

    Voyez-vous ?

    Merci

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    <?php /* Date de création: 06/12/2007 */ ?>
     
    <?php
    //Connexion à la base de données
    $db = mysql_connect("localhost","root","");
     
    //Selection de la base
    mysql_select_db("alliance",$db);
     
    //Récupérer toutes les valeurs des champs de la table "pr_spare"
    $verif="SELECT * FROM pr_spare WHERE emprunt=1";
    //Envoi de la requête
    $sql_verif=mysql_query($verif) or die ('Erreur SQL ! <br>'.mysql_error());
     
    $date=date("Y-m-d");
     
     
     
    $num_rows=mysql_num_rows($sql_verif);
     
     
     
    for($compteur=1; $compteur<=$num_rows;$compteur++) 
    			{
     
    			$array_verif=mysql_fetch_array($sql_verif);
     
     
                $date_ret=$array_verif['Date_ret'];
                $spare=$array_verif['nomspare'];
                $emprunteur=$array_verif['emprunteur'];
     
    			 if($date_ret == $date)
    			 {
    			 /* destinataire */
    				  $to  = "***"; 
     
    				  /* sujet */
    				  $subject = 'Retour ce jour - '.$spare.'';
     
    				  /* message */
    				  $message = '
    				  <html>
    				  <head>
    				  <title></title>
    				  </head>
    				  <body>
    				  <font face="arial"><strong>POUR VOTRE INFORMATION</strong><p>Aujourd\'hui doit être ramené le '.$spare.'.(Prété à '.$emprunteur.')<p>Merci de relancer la personne concernée.</font>
    				  </body>
    				  </html>
    				  ';
     
    				  $entete="Content-type:text/html\nFrom:***\r\n";
    				  //$entete .= 'Cc: ***' . "\r\n";
     
    				  /* envoi */
    				  mail($to, $subject, $message, $entete);
     
    			 }
    			 elseif($date_ret > $date)
    			 {
    			 /* destinataire */
    				  $to  = "***"; 
     
    				  /* sujet */
    				  $subject = '[Dépassement Date de Retour] - '.$spare.'';
     
    				  /* message */
    				  $message = '
    				  <html>
    				  <head>
    				  <title></title>
    				  </head>
    				  <body>
    				  <font face="arial"><strong>POUR VOTRE INFORMATION</strong><p>La date de retour du '.$spare.' est dépassée.(Prété à '.$emprunteur.')<p>Merci de relancer la personne concernée.</font>
    				  </body>
    				  </html>
    				  ';
     
    				  $entete="Content-type:text/html\nFrom:***\r\n";
    				  //$entete .= 'Cc: ***' . "\r\n";
     
    				  /* envoi */
    				  mail($to, $subject, $message, $entete);
     
     
    			 } 
    			}
     
    			?>

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Par défaut
    Pourquoi ne pas envoyer ton mail une fois que tu as tout traité tout simplement ?

    Genre tu met une varaible booleenne pour savoir si tu as des retard. Si c'est le cas tu envoie.

    Le corp du message, tu concatene avec les retard precedents.
    Les balise d'entete de html tu met avant et apres de ta boucle.

    en gros (pseudo algo-code) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    retard = false;
    message = "<html>";
    Traitement des retard
        retard = true;
        message .= "$emprunteur n'a pas rendu pour le $spare<br>";
    FinTraitement
    message .="</html>";
     
    if retard
        envoie du mail

  3. #3
    Membre éclairé Avatar de bilou95
    Inscrit en
    Septembre 2006
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 433
    Par défaut
    Quelqu'un peut il m'aider ?

    Je ne parviens pas a traiter ce que Freyja me demande de faire.

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 327
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 327
    Billets dans le blog
    17
    Par défaut
    Quel est le pb ?

  5. #5
    Membre éclairé Avatar de bilou95
    Inscrit en
    Septembre 2006
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 433
    Par défaut
    A la base j'ai une table listant tout les portables actuellement ou non prétés.

    Je souhaite donc récupérer la liste des portable prétés (emprunt = 1) et de plus ou la date de retour est dépassée (par rapport a la date du jour).

    Cela je parviens a récupérer toutes ces valeurs ... pas de soucis.

    Mais dans le code ci dessus, il m'envoie un email pour chaque portable donc au final je peux me retrouver avec 5 ou 6 email dans la boite.

    ce que je voudrais c simplement qu'un seul email soit envoyé avec un tableau récapitulant tout les portables dont la date de retour est dépassée.

    Vois tu ?

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 327
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 327
    Billets dans le blog
    17
    Par défaut
    Oui, j'avais bien compris. Mais qu'est-ce qui t'empêche de mettre en application ce qui t'a été conseillé plus haut ?

  7. #7
    Membre confirmé
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Par défaut
    Ce que je te disais c'est de recuperer toute tes données et envoyer le mail a la fin.

    Toi tu envoie le mail pour chaque données...

    Je ne vois pas ce qu'il te bloque...

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

Discussions similaires

  1. Envoyer un email avec Outlook
    Par moumicha dans le forum Access
    Réponses: 17
    Dernier message: 19/07/2006, 09h58
  2. [MySQL] Creer un formulaire avec un tableau et des cases à cocher ??
    Par shawn12 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 04/04/2006, 10h23
  3. Envoyer un Email avec Outlook à partir d'access
    Par pilotcoater dans le forum Access
    Réponses: 1
    Dernier message: 13/03/2006, 20h04
  4. [VBA]envoyer un email avec un fichier joint à partir d'excel
    Par mcay dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 21/12/2005, 10h21
  5. [FPDF] Créer un PDF et l'envoyer par email avec PHPMailer
    Par nico33307 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 12/12/2005, 22h49

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