从类似字段收集POST数据

时间:2009-05-18 04:53:03

标签: php html forms variables

我发布的表单有很多相似的字段(artist1,artist2,.... artist20)。我试图将它们添加到数据库,但我不知道如何轻松获取所有发布的数据,而不必分别写出每个数据。如何将int组合成一个字符串,以便我不必写出每个字符串?这是我尝试过的一种方法:

for( $i=0; $i <= 20; $i++ )
{
   $artist = $_POST['artist'.$i] 
}

我也尝试过(没有用):

for( $i=0; $i <= 20; $i++ )
{
   $art = 'artist' . $i;
   $artist = $_POST[ $art ];
}

1 个答案:

答案 0 :(得分:5)

您可以使用方括号命名HTML元素,PHP会将它们转换为数组:

<input type="text" name="artist[]" value="abc" />
<input type="text" name="artist[]" value="def" />
<input type="text" name="artist[]" value="ghi" />
<input type="text" name="artist[]" value="jkl" />

当你发帖时,这就是你在PHP中得到的:

print_r($_POST);

/* array(
    artist => array(
        0 => "abc",
        1 => "def",
        2 => "ghi",
        3 => "jkl"
    )
) */

...至于将它们放入数据库,请参阅此问题:insert two kinds of array in the same table