передача массива POST в базу данных

L
На сайте с 13.10.2010
Offline
27
1153

Есть десяток полей input, три из которых представлют массив типа

input name=url[1], input name=url[2], input name=url[3]...

input name=namel[1], input name=name[2], input name=name[3]...

input name=img[1], input name=img[2], input name=img[3]...

остальные с одним значением (будут дублироваться)

Как теперь занести построчно эти значения в БД?

Вроде как надо передать строкой, потом разбить через explode и в цикле занести значение в базу.

Только вот как передать строкой? и как в целом будет выглядеть код заноса в базу?

topy
На сайте с 28.03.2006
Offline
142
#1

Может foreach?

Новости коротко и ясно (https://subnews.ru)
bums
На сайте с 03.07.2006
Offline
449
#2
Loken:
Вроде как надо передать строкой, потом разбить через explode и в цикле занести значение в базу.

думаю лучше использовать serialize при записи в БД, а при выборке unserialize или если в данных в запросе точно не может быть кириллица, то json_encode при выборке соответственно json_decode

Недорогая регистрация и продление доменов RU/SU/РФ/COM/NET/ORG/и т.д. ( https://www.regnic.name/?sesign ) в РЕГРУ, РЕГТАЙМ, Р01, РУЦЕНТР. А так же хостинг и SSL сертификаты.
LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#3

implode сделает эти данные в строку.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
N
На сайте с 02.09.2012
Offline
3
#4
Loken:
Есть десяток полей input, три из которых представлют массив типа
input name=url[1], input name=url[2], input name=url[3]...
input name=namel[1], input name=name[2], input name=name[3]...
input name=img[1], input name=img[2], input name=img[3]...
остальные с одним значением (будут дублироваться)

Как теперь занести построчно эти значения в БД?
Вроде как надо передать строкой, потом разбить через explode и в цикле занести значение в базу.
Только вот как передать строкой? и как в целом будет выглядеть код заноса в базу?

взято с http://php.net/manual/en/reserved.variables.post.php

For a page with multiple forms here is one way of processing the different POST values that you may receive.  This code is good for when you have distinct forms on a page.  Adding another form only requires an extra entry in the array and switch statements. 


<?php

if (!empty($_POST))
{
// Array of post values for each different form on your page.
$postNameArr = array('F1_Submit', 'F2_Submit', 'F3_Submit');

// Find all of the post identifiers within $_POST
$postIdentifierArr = array();

foreach ($postNameArr as $postName)
{
if (array_key_exists($postName, $_POST))
{
$postIdentifierArr[] = $postName;
}
}

// Only one form should be submitted at a time so we should have one
// post identifier. The die statements here are pretty harsh you may consider
// a warning rather than this.
if (count($postIdentifierArr) != 1)
{
count($postIdentifierArr) < 1 or
die("\$_POST contained more than one post identifier: " .
implode(" ", $postIdentifierArr));

// We have not died yet so we must have less than one.
die("\$_POST did not contain a known post identifier.");
}

switch ($postIdentifierArr[0])
{
case 'F1_Submit':
echo "Perform actual code for F1_Submit.";
break;

case 'Modify':
echo "Perform actual code for F2_Submit.";
break;

case 'Delete':
echo "Perform actual code for F3_Submit.";
break;
}
}
else // $_POST is empty.
{
echo "Perform code for page without POST data. ";
}
?>
L
На сайте с 13.10.2010
Offline
27
#5

Попробую. Только не понял что за строчка $postIdentifierArr***91;***93; = $postName;

J1
На сайте с 15.07.2012
Offline
27
#6

это просто глюк, $postIdentifierArr***91;***93; = $postName;

почему то угловые скобки так записались, часто где встречал такое, вот так правильно

$postIdentifierArr[] = $postName;

siv1987
На сайте с 02.04.2009
Offline
427
#7
Loken:
Только не понял что за строчка $postIdentifierArr***91;***93; = $postName;

Массив с данными результата цикла foreach. Очевидно же...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий