为数据库准备随机数量的FORM字段 [英] Random number of FORM fields being prepared for database

查看:111
本文介绍了为数据库准备随机数量的FORM字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我发现自己遇到了以下问题:我有一个随机数字段的表单。 (这样用户可以输入他们的团队成员的姓名 - 并且团队没有设置的大小)。我需要将输入的数据格式化以准备存储在数据库中。



数据库结构很好,它只是得到一个随机数 $ _ 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 $_POSTs 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 ids/names (e.g. TeamMemberName1, TeamMemberEmail1, TeamMemberName2, TeamMemberEmail2, etc.).

Right now I've created an ugly series of PHP statements that puts a reasonable amount of POSTed 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆