我有一个HTML表,其中填充了使用while()
循环的MySQL数据库中的数据。该数据库具有以下结构:
+++++++++++++++++++++
| id | name | email |
+++++++++++++++++++++
我想这样做是因为用户可以向选定的一组用户(行)发送电子邮件,我正在考虑以下解决方案之一:
我不确定如何将数据放入要处理的表单中。
答案 0 :(得分:0)
启动一个表单,提交围绕<table>.
的PHP声音
在每一行中,都有一个如下所示的复选框:
<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
}
?>
答案 1 :(得分:0)
首先,让PHP为每个复选框分配一个唯一的ID和值,以了解选中的复选框和电子邮件地址。例如:
<input type="checkbox" name="5" value="email@foo.com">email@foo.com
另外,使用<input type="hidden">
存储复选框的总数:
<input type="hidden" name="totalCheckboxes" value="20">
在目标页面(<form action="...">
中指定的页面)上,从隐藏的<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
}
}
?>