私はフォーマットの単純な証明書を持っています。証明書には、データベースからの値を入力して電子メールで送信する必要があります。以下は私が行ったクイックフィックスです。問題は、送信された証明書が、照会されたものではなく1人のものではないことです。
$query ="SELECT r.email, r.LastName, r.OpNo,
r.QuizNo From tbl_cert where Pass =1 AND Printed is null;
$result=mysql_query($query);
while( ($row= mysql_fetch_array($result)) ){
$subject = "CPD Certificate";
$email = $row['email'];
$LastName = $row['LastName'];
$OpNo = $row['OpNo'];
$TestNo = $row['QuizNo'];
$headers = "From: online@example.com";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html;
charset=iso-8859-1' . "\r\n";
$mail_body ='<html>...Here its were my my
html comes with values from table...</html>';
if (mail($to, $subject, $mail_body, $headers)){
$query = "UPDATE `tbl_cert` SET Printed = 1
WHERE CertificateNo = " . $CertificateNo;
$certresult=mysql_query($query);
if ($certresult) {
header('Location:tsCertlist.php');
}
問題は、$mail_bodyがwhileループ内にhtmlとphpの両方を持つようにする方法です。私が生成したフォームまたは証明書は、合格して証明書を印刷しなかった4人のユーザーと同じでした。