user3473873 user3473873 - 2 months ago 22
SQL Question

PHP send email foreach user

For this page i need to get managers email from users and send email to each managers email where the endofmonthdate = 22/09/2016

http://pastebin.com/7PD2MyuC

Thank you in advance!!

Answer

Your code was missing some curly brackets ( {} ):

include ("../dbconnect.php");

$sql='SELECT c.endofmonthform, c.startofmonthform, c.email, c.id, c.formlevel, c.mastersite, c.opmanager, u.userEmail FROM `clients` as c LEFT JOIN `users` as u on c.opmanager = u.userName WHERE endofmonthform="22/09/2016"'; //TODAYS DATE BACK HERE!

$result=mysql_query($sql); 

 while($row=mysql_fetch_array($result)){  

    $enddate = $row['endofmonthform']; // End

    $startdate = $row['startofmonthform']; // Start

    $email = $row['email']; //Email to send email to

    $id = $row['id'];

    $formlevel = $row['formlevel']; //To update and check formlevel

    $sitegroupname = $row['mastersite'];

    $manager = $row['opmanager'];

    $opemail = $row['userEmail'];

    /* If end date is today and form level is still ZERO then send email to op manager */
    $mail = new EMail;

    $mail->Username = 'Sender email';    
    $mail->Password = 'mypwd';
    $mail->SetFrom("senderemail@example.com","companyname");  
    $mail->ContentType = "text/html";
    $mail->Subject = "Client feedback incomplete NEW LAYOUT";

    //Enter the email address you wish to send TO (Name is an optional friendly name):
    $mail->AddTo($opemail,$manager);


    $mail->Message = "<!DOCTYPE html PUBLIC  -//W3C//DTD XHTML 1.0 Transitional//EN   http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd >
    <html xmlns=http://www.w3.org/1999/xhtml>
    <head>
    <meta http-equiv=Content-Type  content=text/html; charset=utf-8 />
    <title></title>
    <style type=text/css >
    body {margin: 0; padding: 0; min-width: 100%!important;}
    .content {width: 100%; max-width: 600px;}  
    </style>
    </head>
    <body yahoo bgcolor=#f6f8f1 >
    <table width=100% bgcolor=#f6f8f1 border=0 cellpadding=0 cellspacing=0>
    <tr>
    <td>
    <table class=content  align=center  cellpadding=0  cellspacing=0  border=0 >
    <tr>
    <td>

    ID: ".$id." <br>

    Clients group name: ".$sitegroupname." <br>

    Managers Name: ".$manager." <br>

    Managers Email: ".$useremail." <br>

    Please log into your account as you have feedback notifications
    <br>

    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </body>
    </html>";

    echo $success = $mail->Send(); //Send the email.
}

Also cleaned up some of the PHP to simplify the entire thing. NOTE: I excluded the email class as it isn't relevant to this problem.

EDIT:

TS informed me that the mail part wasn't working, so try using the default php mailer:

<?php 
include ("../dbconnect.php");

$sql='SELECT c.endofmonthform, c.startofmonthform, c.email, c.id, c.formlevel, c.mastersite, c.opmanager, u.userEmail FROM `clients` as c LEFT JOIN `users` as u on c.opmanager = u.userName WHERE endofmonthform="22/09/2016"'; //TODAYS DATE BACK HERE!

$result=mysql_query($sql); 

 while($row=mysql_fetch_array($result)){  

    $enddate = $row['endofmonthform']; // End

    $startdate = $row['startofmonthform']; // Start

    $email = $row['email']; //Email to send email to

    $id = $row['id'];

    $formlevel = $row['formlevel']; //To update and check formlevel

    $sitegroupname = $row['mastersite'];

    $manager = $row['opmanager'];

    $opemail = $row['userEmail'];

    mail($opemail, "subject", "message", "from");
}
Comments