为数据库准备随机数量的FORM字段 [英] Random number of FORM fields being prepared for database
问题描述
我发现自己遇到了以下问题:我有一个随机数字段的表单。 (这样用户可以输入他们的团队成员的姓名 - 并且团队没有设置的大小)。我需要将输入的数据格式化以准备存储在数据库中。
数据库结构很好,它只是得到一个随机数 $ _ POST
s并将它们放入数组中,这就是问题所在。
到目前为止,我已经有了一些javascript,允许用户创建/删除无限数量的字段,并增加 id
s / name
s(例如TeamMemberName1,TeamMemberEmail1,TeamMemberName2,TeamMemberEmail2等)。
现在我创建了一个丑陋的PHP语句系列将合理数量的 POST
ed数据放入多维数组中 - 我不明白为什么一个团队应该超过50个那么我将在数组传递到数据库之前处理数组以删除所有空行。 pre> $ s ubmittedTeamMembers =
数组(teamMember1=>
array(name=> $ _POST [teamMemberName1],
email=> $ _POST [teamMemberEmail1])
);
但是我猜这有更好的办法!
您的输入名称可以是数组形式,PHP将完全理解。例如:
< input type =textname =teamMembers [0] ['name']/>
< input type =textname =teamMembers [0] ['email']/>
PHP会按照您的预期在后期解释:
// print_r($ _ POST ['teamMembers']);
Array
(
[0] => Array
(
[name] => foo
[email] => bar
)
)
I've found myself with the following problem: I have form with a random number of fields. (This is so users can enter their fellow team members's names -- and there's no set size for teams.) I need this inputted data to be formatted in preparation for being stored in a database.
The database structure is fine, it's just getting a random number of $_POST
s and putting them into an array that's the issue.
So far I've got some javascript that allows the user to create/remove an infinite number of fields, with incrementing id
s/name
s (e.g. TeamMemberName1, TeamMemberEmail1, TeamMemberName2, TeamMemberEmail2, etc.).
Right now I've created an ugly series of PHP statements that puts a reasonable amount of POST
ed data into a multidimenional array -- I don't see why a team should ever be bigger than 50 -- and then I was going to process the array to remove any blank rows before passing it onto the database.
Example:
$submittedTeamMembers =
array ( "teamMember1" =>
array ( "name" => $_POST["teamMemberName1"],
"email" => $_POST["teamMemberEmail1"])
);
But I'm guessing there's a better way!
Your input names can be in array form, which PHP will understand perfectly. Example:
<input type="text" name="teamMembers[0]['name']" />
<input type="text" name="teamMembers[0]['email']" />
which PHP will interpret after post as you'd expect:
//print_r($_POST['teamMembers']);
Array
(
[0] => Array
(
[name] => foo
[email] => bar
)
)
这篇关于为数据库准备随机数量的FORM字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!