Получаю Post. Что дальше?

  • Автор темы Dasha
  • Дата начала
D

Dasha

Гость
#1
Подскажите, плиз, такое дело - получаю из формы массив $_POST
как его циклом записать в бд?

например, в форме "имя", "фамилие", "телефон"
форма заполняется несколько раз,

приходит несколько раз данные:

имя
фамилие
отчество
имя
фамилие
отчество
....

как их записать в базу?
 

vital

Больной Компом Детектед
29.01.2006
2 432
40
codeby.net
#2
Как обычно подключаетесь к бд.
И как обычно INSERT .. VALUES() записываете.
Может перед тем, как идти на форум, стоит почитать _хоть что-нибудь_ ?
 
D

Dasha

Гость
#3
Как обычно подключаетесь к бд.
И как обычно INSERT .. VALUES() записываете.
Может перед тем, как идти на форум, стоит почитать _хоть что-нибудь_ ?
не догоняю немного, как обычно, это как в этом случае.
То есть из примера выше надо будет сделать две записи в бд,

а прежде надо куда-то их считать, чтобы проверить.
 
D

Dasha

Гость
#5
Ну я читаю.

Нигде не могу найти, как это сделать в цикле.

Если бы нашла, где почитать, не пришла бы на форум.
 

Гость
#6
Воспользуйся foreach

К примеру

foreach ($_POST['massive'] as $key => $val)
{
@mysql_query("INSERT INTO table VALUES (NULL,'".$val."'");
}
 

vital

Больной Компом Детектед
29.01.2006
2 432
40
codeby.net
#8
foreach ($_POST['massive'] as $key => $val)
{
@mysql_query("INSERT INTO table VALUES (NULL,'".$val."'");
}
Скучно мне. Распишу-ка полностью почему так делать низя.

Первым делом не мешает проверить на сущевствование как таковое переданного массива.
Ченить в духе
PHP:
if (!empty($_POST['massive'])/*&&is_array($_POST['massive']) для любителей пожестче=)*/)
{
//Так мы точно знаем что нам что-то передали(не выскочит нотис).
//Далее надо сформировать правильный запрос. Никогда, НИКОГДА нельзя делать кучу инсертов циклом, т.к. скорее всего это закончиться смертью сервера.
//А сделать как-нить так

foreach ($_POST['massive'] as $key => $val)
{
$query.="('".mysql_real_escape_string($val)."'),"; //Cделаем заготовку для запроса, попутно параметр экранируется, что бы злобные хакеры не подсунули нам кавычку и прочую гадость.
}
$query= 'INSERT INTO table VALUES'.substr($query, 0, -1).';';//Обрежем последнюю лишнюю запятую, и в итоге получим запрос вида INSERT INTO table VALUES (),(),()..();
if (!mysql_query($query)) //Скажу по секрету, что ставить собаку это моветон.
{
print "Упс, что-то сломалось";
print mysql_error();
}else {print "Вот и все"}