2012-02-02 159 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()調用中刪除這個地址串。

相關問題