[thelist] Sending Tabular data with mail()
Santilal Parbhu
santilal at scorpioneng.co.nz
Thu May 22 04:24:29 CDT 2008
Hi
I am working on a php script to send emails. I want to be able to collect
some email content from a form (typically a covering note e.g Hi Joe,
Please find below the data you asked for") and then read some tabular data
from a database, which would be appended to the covering note. I have tried
to create an html email using <html> </html>, but when I did this all of
the formatting (paragraphing) disappeared. Without the html tags, the
paragraphing was present but the tables were not properly columised.
Basically I want to create the following
Hi Joe,
Here is the data.
Thanks.
Bill
Date Time Venue
May 3 6:00pm Here
May 10 7:00pm There
Here is a snippet from the script. $notes contains the covering note i.e Hi
Joe etc.
$body = "";
$body .= "$notes";
$body .= "<br /><br /><br />";
$body .= "<html>";
$body .= "<table border = '1'><tr><td width = '100'>Team
1</td><td width = '100'>Team 2</td><td width = '60'>Date</td>
<td width =
'60'>Time</td><td width = '100'>Umpire</td><td width =
'100'>Venue</td></tr>";
$query = "SELECT new_round_id, team1_name, team2_name,
matchdate, match_time, umpire, venue FROM $compdraw WHERE grade = '$grd' AND
new_round_id = '$required_round' ORDER BY matchdate, match_time, game_no";
//Delete this line when new database is loaded.
if (@mysql_query ($query)) {
($r = mysql_query ($query)); // Run the query.
while ($row = mysql_fetch_array ($r)){
$row[3]= date('j M', $row[3]);
if ($row[1]!=='Bye' AND
$row[2]!=='Bye') {
$row[4]= date('g:ia',
$row[4]);
}
$body .= "<tr><td width =
'120'>$row[1]</td>
<td
width = '120'>$row[2]</td>
<td
width = '60'>$row[3]</td>
<td
width = '60'>$row[4]</td>
<td
width = '120'>$row[5]</td>
<td
width = '120'>$row[6]</td></tr>";
}
$body .= "</table>";
$body .= "<br /><br /><br />";
$body .= "</html>";
}else {print "DATABASE ACCESS ERROR!!!";
}
nl2br($body);
}
$to = "";
foreach($emailgroup as $value) {
$to .= "$value;";
}
// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";// More
headers
$headers .= 'From: $from' . "\r\n";
if (mail($to, $subject, $body, $headers)) {
echo("<p>Message successfully sent!</p>");
} else {
echo("<p>Message delivery failed...</p>");
}
Santilal
More information about the thelist
mailing list