This script is supposed to send a reminder email to anyone registered for a class that is coming up in one week.
In my test there were two workshops coming each w/ 1 user user registered (and different emails). Two, duplicate emails were sent... does anyone see anything wrong with this script?
<?php
require_once('../../../Connections/uwcnp.php');?>
<?
// Values you need set
mysql_select_db($database_uwcnp, $uwcnp);
$query_settings = "SELECT * FROM ws_adminsettings WHERE id = 1";
$settings = mysql_query($query_settings, $uwcnp) or die(mysql_error());
$row_settings = mysql_fetch_assoc($settings);
$totalRows_settings = mysql_num_rows($settings);
$email_from = $row_settings['fromadd'];
$email_bcc = $row_settings['bccadd'];
$admin_name = $row_settings['adminname'];
$todays_date = date("F jS");
$result = mysql_query( "
SELECT
`ws_registrations`.`regid`,
`ws_registrations`.`FirstName`,
`ws_registrations`.`LastName`,
`ws_registrations`.`Agency`,
`ws_registrations`.`Member`,
`ws_registrations`.`Email`,
`ws_registrations`.`Phone`,
`ws_registrations`.`Fax`,
`ws_registrations`.`Address`,
`ws_registrations`.`City`,
`ws_registrations`.`State`,
`ws_registrations`.`Zip`,
`ws_registrations`.`Comments`,
`ws_registrations`.`wsid`,
`ws_registrations`.`AmtDue`,
`ws_registrations`.`Paid`,
`ws_registrations`.`PdMethod`,
`ws_registrations`.`PdDate`,
`ws_registrations`.`SubmittedDate`,
DATE_FORMAT(SubmittedDate, '%M %e, %Y') AS SubmittedDate2,
`ws_classlist`.`wsid`,
`ws_classlist`.`wstype`,
`ws_classlist`.`inid`,
`ws_classlist`.`Title`,
`ws_classlist`.`Description`,
`ws_classlist`.`Date`,
date_sub(Date, INTERVAL 7 DAY) AS ReminderDate,
`ws_classlist`.`Time`,
`ws_classlist`.`RegDeadline`,
`ws_classlist`.`Location`,
`ws_classlist`.`FeePartners`,
`ws_classlist`.`FeeNonPartners`,
`ws_classlist`.`Addedby`,
`ws_classlist`.`AddedTimestamp`,
DATE_FORMAT(Date, '%M %e, %Y') AS formatted_date
FROM
`ws_registrations`
Inner Join `ws_classlist` ON `ws_registrations`.`wsid` = `ws_classlist`.`wsid`
WHERE date_sub(Date, INTERVAL 7 DAY) = curdate()
ORDER BY RIGHT(Date,2) ASC
" );
$nr = mysql_num_rows($result);
while( $row = mysql_fetch_array( $result ) )
{
$email = "".$row["Email"]."";
//$email .= "jwilkins@chattanoogarowing.org";
$year = substr($row["Date"], 0, 4);
$month = substr($row["Date"], 5, 2);
$date = substr($row["Date"], 8, 2);
$Instructor = "".$row["FirstName"]." ".$row["LastName"]."";
$reminder_date = $month;
$reminder_date .=$date;
$reminder_date .=$year;
$birthday = $row["formatted_date"];
$workshopid = $row['wsid'];
mysql_select_db($database_uwcnp, $uwcnp);
$query_registrations = sprintf("SELECT * FROM ws_registrations WHERE wsid = $workshopid");
$registrations = mysql_query($query_registrations, $uwcnp) or die(mysql_error());
$row_registrations = mysql_fetch_assoc($registrations);
$totalRows_registrations = mysql_num_rows($registrations);
$reminder_details = "";
$reminder_details .= "<strong>".$row["Title"]."</strong><br>";
$reminder_details .= "Date: ".$row["formatted_date"]." (".$row["Time"].")<br>Location: ".$row["Location"]."";
// Send out Reminder mail
$mailheader = 'MIME-Version: 1.0' . "\r\n";
$mailheader .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$mailheader .= "From: $admin_name <".$email_from.">\nBcc:".$email_bcc;
//$mailheader = "From: $admin_name <$email_from>\nBcc: $email_bcc\nX-Mailer: Reminder\nContent-Type: text/html";
mail("$email","".$row["Title"]." In One Week!","".$row["FirstName"].",<br><br>I just wanted to reminder you that your workshop, \"".$row["Title"]."\" is in just one week!<br><br>$reminder_details<br><br>To view the list of other workshops coming up visit the CNP Website:<br><a href=\"http://www.cnpchatt.org/\">http://www.cnpchatt.org/</a><br><br>Thank you,<br><br>".$row_settings['emailsig']."",$mailheader);
}
mysql_free_result( $result );
if( !empty( $nr ) )
{
echo $reminder_details."<br><br>";
}
?>