この問題のため、今は1日以上の間違いがあります。私は設定された量でCronによって呼び出されるPHPを持っています。それは呼び出され、スタイリング以外の多くの問題なしでうまく実行されます。それは、設定された時間にデータベースに照会し、値が真であれば、それをスクリプトに入れた指定の電子メールに電子メールで送ります。それは仕事ですが、問題は電子メールが配信されるときの形式です。問題SQL値がTrueのときにメールを送信
、あなたが見ることができるように最初の行のみまたは行がテーブルの上にフォーマットされ、結果の残りの部分は、それに従っていないということである:電子メールは、私はそれを開くとこのようになります。
ここには、一部の省略/変更された詳細を使用している現在のスクリプトがあります。
#!/path/to/php
<?php
//DB
$dbconnect=new mysqli('localhost', 'user', 'pass', 'db');
$result=$dbconnect->query("SELECT `uid`,`pid`,`pdesc`,`umail`,`name` FROM `db_table` WHERE `pid`<='6'");
//if there are any records matching this query send an email listing each one using 'uid' as the identifier
if($result->num_rows>=1) {
$to = '[email protected]';
$subject = "TEST FOR PRIZES NOTIFICATION";
$headers = 'From: [email protected]' . "\r\n" .
$headers = "MIME-Version: 1.0" . "\r\n" .
$headers = "Content-type:text/html;charset=iso-8859-1" . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$message = '<html><body>';
$message .= 'THIS IS A TEST!';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
$message .= '<tr>
<td>User ID</td>
<td>Display Name</td>
<td>Email</td>
<td>Price</td>
<td>Price Description</td></tr>';
while($row=$result->fetch_assoc()) {
$message .= "<tr><td>".$row['uid']."</td>";
$message .= "<td>".$row['name']."</td>";
$message .= "<td>".$row['umail']."</td>";
$message .= "<td>".$row['pid']."</td>";
$message .= "<td>".$row['pdesc']."</td></tr>";
$message .= "</table>";
$message .= "</body></html>";
}
if(mail($to, $subject, $message, $headers)) {
//mail successfully sent
} else {
//mail unsuccessful
}
}
?>
ありがとうございました!
whileループの外でテーブルを閉じる –