現在、電子メール機能を設定するデータベースから情報を取得しようとしています。私はそれがデータベースに格納されている電子メールアドレスの数と等しい数の電子メールを送信するようにしようとしています。 (1つの行に、複数の電子メールアドレスを同じ列に格納し、コンマで区切ることができます)。/foreachループが入れ子になっている間にPHPが奇妙な結果を返す
(例 - [email protected]、[email protected])
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
if (strpos($row["mailcontacts"], ',') !== false) {
$contact = explode(',', $row["mailcontacts"]);
//print_r($contact);
foreach ($contact as &$toaddress) {
$mail->addAddress($toaddress);
}}
私が一致する最初の行の作品をしたい機能。それは、最初の行の1つの電子メールをdaveとbobに送信します。ただし、すでに送信されている連絡先に電子メールが送信される行はそれ以上ありません。基本的にDaveとBobはすべてのメールに含まれます。
私はさまざまな場所のさまざまな変数の設定を解除しようとしましたが、これは問題の場所ではないと思います。私がprint_r($toaddress)
をコメントとして使用すると、必要に応じて各行に配列を提供します。
あなたは常に電子メールを追加しています。 – Justinas
すべてのアドレスに同じメールを送信する場合は、 'while'ループ内でメールを送信しないようにしてください。ループが終了してすべてのアドレスが追加されるまで待ってから、ループの後にメールを送信してください。 –