2013-10-28 88 views
0

我有一个在我的数据库中的表这简直是插入多行到MySQL在一次

prospectid | email address | status 

我要为我的用户可以在多个电子邮件地址添加到一个文本形式框,每个这些电子邮件地址将通过PHP上传到不同的行上的MySQL。

prospectid和状态已自动设置。我只是不知道我怎么能有一个简单的形式,其中可以添加多行。

有什么建议吗?

回答

2

如果电子邮件地址被返回分隔,如你所说,在prospectidstatus字段被自动添加,只要做到以下几点:

<? 

//Connect to mysql 

$emails = explode("\n", $_POST["emails"]); 

for($i = 0; $i < count($emails); $i++) 
{ 
    mysql_query("INSERT INTO `table`(`email`) VALUES('".$emails[$i]."');"); 
} 

?> 

您可以更改第一个字符串中的爆炸函数来匹配你想使用的任何分隔符,尽管在这种情况下返回可能是最有意义的。

+1

您**不要**在一列中存储多个值。它违背了数据库设计的第一种正常形式。 – Kermit

+1

是的,我明白这一点。他正在存储电子邮件地址。那是*一种*数据类型。这是他要求的,所以我把它交给了他。这会为输入的每个电子邮件地址创建一个新行。 – David

+0

这里的正确解决方案是将电子邮件地址存储在单独的行中并以此方式插入。 – Kermit