0

while()我有一个使用循环填充来自 MySQL 数据库的数据的 HTML 表。该数据库具有以下结构:

+++++++++++++++++++++
| id | name | email |
+++++++++++++++++++++

我想做的是让用户可以向选定的用户组(行)发送电子邮件,我正在考虑以下解决方案之一:

  1. 每行都有一个按钮,显示“发送邀请电子邮件”或
  2. 用于选择我要发送邀请电子邮件的复选框和提交表单的“提交”按钮。

我不确定如何将数据放入要处理的表单中。

4

2 回答 2

0

启动一个表单,该表单提交给您的 PHP 声音<table>. 在每一行中,有一个这样的复选框:

<input type="checkbox" name="emails[]" value="<?php echo $row['email']; ?>" />

底部有一个提交按钮(在表单内)。在 PHP 页面上:

<?php
$emails = $_POST['emails'];
foreach ($emails as $email) {
   ###Logic to send your HTML e-mail
}
?>
于 2012-09-08T22:44:05.660 回答
0

首先,让 PHP 为每个复选框分配一个唯一的 ID 和一个值,以了解哪些复选框被选中以及电子邮件地址。例如:

<input type="checkbox" name="5" value="email@foo.com">email@foo.com

此外,使用 an<input type="hidden">来存储复选框的总数:

<input type="hidden" name="totalCheckboxes" value="20">

在目标页面(在 中指定的页面<form action="...">)上,从 hidden 中获取复选框的总数<input>,并在 For 循环中:

  • 读取并存储每个复选框的电子邮件;
  • 将电子邮件发送到存储的地址。

最终代码应如下所示:

表单页面

<form method="POST" action="target.php">
<table><tbody>
  <tr>
    <td><input type="checkbox" name="1" value="foo@bar.com"></td>
    <td>foo@bar.com</td>
  </tr>
  <tr>
    <td><input type="checkbox" name="2" value="herp@derp.com"></td>
    <td>herp@derp.com</td>
  </tr>
</tbody></table>
<input type="hidden" name="totalCheckboxes" value="2">
</form>

目标页面

<?php
$total=$_POST['totalCheckboxes'];
for ($k=1; $k!=$total; $k++) {
   if ($_POST[$k]) {
      // Email
   }
}
?>
于 2012-09-08T22:52:22.337 回答