2012-02-02 146 views
1

我创建了一个HTML联系表单,它连接到MySQL数据库以将一些选项填充到多选字段中。根据MultiSelect框中选择的值将电子邮件地址发送到特定的电子邮件地址

我现在需要发送电子邮件给特定的人,具体取决于在MultiSelect字段中选择的值。但我不知道如何根据选择定义电子邮件地址。

这是我用来填充多选字段的代码。

$sql="SELECT addr1, city, status FROM listings WHERE status<>'Hidden' "; 
$result=mysql_query($sql) or die(mysql_error()); 
$options=""; 

while ($row=mysql_fetch_array($result)) { 

    $addr1=$row["addr1"]; 
    $city=$row["city"]; 
    $status=$row["status"]; 
    $options.="<OPTION VALUE=\"$addr1\">".$addr1 . ', ' . $city . ' - ' . $status; 
} 

<select multiple name="unit" id="unit" size="10" validate="required:true, rangelength:[1,5]"> 
    <?=$options ?> 
</select> 

我的数据库结构看起来像这样

addr1  city  status  manager 
address  somecity available  John Citizen 
addresstwo city2  not available Jack Citizen 
addressthree city3  available  Jill Citizen 

所以,当有人选择约翰公民和吉尔公民,电子邮件应该发送给那些两个人。 我还需要通过PHP变量声明这两个人的电子邮件地址。 表格将随此代码一起发送。 (此代码是在窗体动作调用不同的PHP文件)

mail($emailaddresses,$subject,$html,"From: [email protected]#####\r\nContent-type: text/html\r\n"); 

}

有没有人能够给我一些指点?我尝试了很多东西,但无法使选择正常工作。

回答

1

为您的多选表单字段命名以[](例如name =“unit []”)结尾的名称。在PHP中,当您提交表单时将生成一个数组,该数组将填充所选项目($ _POST(“unit”))。然后你可以implode()数组,用逗号分隔电子邮件地址(或者分号 - 我永远不会记得哪一个分隔php mail()函数中的邮件)。然后,只需在你的mail()调用中删除这个地址串。

相关问题