私はすでにmail()を使用して複数の受信者に送信することを研究していますが、それを機能させることができません。私がやろうとしていることは、私が持っているすべての注文について、それぞれが独自の電子メールアドレスを持っている注文1、2、3です。注文ステータスを保留中から確認に変更すると、mail()はそのIDを使用して参照しますdbテーブルを作成し、これら3つの注文の電子メールを送信します。しかし、私の場合は、注文3という最新の注文だけを郵送しました。これは、注文ステータスを変更するために使用するフォームです。
<form action="results-action" method="post" enctype="multipart/form-data">
<fieldset>
<table id ="table_id" class="display">
<thead>
<tr><td><h2>Pending Order</h2></td></tr>
<tr>
<th scope="col">Order ID</th>
<th scope="col"> </th>
<th scope="col">Name</th>
<th scope="col">Address</th>
<th scope="col">Product Name</th>
<th scope="col">Produt Quantity</th>
<th scope="col">Price</th>
<th scope="col">Order status</th>
</tr>
</thead>
<tbody>
<?php
while ($row = mysqli_fetch_array($result)) {
?>
<tr>
<td><input type="text" value='<?=$row['virtuemart_order_id']?>' name="orderid" id="virtuemart_order_id"></td>
<td><input type="hidden" value='<?=$row['virtuemart_product_id']?>' name="productid" id="virtuemart_product_id"></td>
<td><?=$row['first_name']?></td>
<td><?=$row['address_1']?></td>
<td><?=$row['order_item_name']?></td>
<td><?=$row['product_quantity']?></td>
<td><?=$row['product_final_price'] ?></td>
<td><select name='change[<?=$row['virtuemart_order_id']?>]'>
<option value='C'> Confirmed</option>
<option value='X'> Cancelled</option></select></td>
</tr>
<?php
}
?>
</tbody>
</table>
</fieldset>
<fieldset>
<table>
<tr>
<td><input type="submit" value="Update status" name="update status"> </td>
</tr>
</table>
</fieldset>
</form>
これはphpで、フォームの注文IDを使用してメールアドレスを選択します。
<?php
$orderid = $_POST['orderid'];
// build SQL statement to select email addresses
$query3 = "SELECT email from ruj3d_virtuemart_order_userinfos where virtuemart_order_id = '$orderid'";
// execute SQL statement
$result3 = mysqli_query($link, $query3) or die(mysqli_error($link));
$subject = "Order confirmed by Home and decor";
$message = "Hello! This is a message to inform that your order has been confirmed";
$from = "107496@myrp.edu.sg";
$headers = "From: $from";
while($row3 = mysqli_fetch_array($result3)){
$addresses[] = $row3['email'];
}
$to = implode(",", $addresses);
mail($to, $subject, $message, $headers);
?>