Сбор данных POST из аналогичных полей - PullRequest
1 голос
/ 18 мая 2009

Я публикую форму, которая имеет много похожих полей (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 Ответ

5 голосов
/ 18 мая 2009

Вы можете назвать свои элементы 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"
    )
) */

... что касается получения их в базе данных, посмотрите этот вопрос: вставьте два вида массива в одну таблицу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...