Эли4ка
10.08.2019 - 16:21
Здравствуйте, форумчане. Возникла задача, решить которую оптимально пока мне не удается.
Есть простая форма - строка для названия, описание, категория, метки, описание на английском. Итого 5 параметров. Если добавлять данные через неё по одному все нормально. Но недавно потом данных увеличился и одна форма стала не справляться. С задачей нормально справляются если на странице 10 таких форм. Но как передавать все эти параметры не приложу ума.
Если каждый параметр будет иметь свое имя, например: title1,title2..title10 то получим 50 POST параметров, которые на стороне сервера загнешься обрабатываться.
Еще загвоздка в том, что первому названию должно соответствовать первое описание, первая категория и т.д.
Может у кого мысли есть какие, как решить данную проблему?
Ах да, совсем забыла-формы создаются динамически на стороне клиента при клике добавить/удалить.
Параметры можно передавать массивами.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Эли4ка
10.08.2019 - 16:44
А если плохая связь или третья сторона попортит массив?
Или я вас не так поняла, можно пример?
FatCat
10.08.2019 - 16:59
Цитата (Эли4ка @ 10.08.2019 - 15:21) |
получим 50 POST параметров, которые на стороне сервера загнешься обрабатываться |
Да хоть 50 000, не вижу в чем проблема.
_____________
Бесплатному сыру в дырки не заглядывают...
Ну как то так:
<input name="title[1]" type="text"/>
<input name="title[2]" type="text" />
......
и ловить массив. Его проще обработать, в цикле к примеру:
foreach($_POST['title'] as $title) {
}
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Эли4ка
10.08.2019 - 17:23
Цитата (FatCat @ 10.08.2019 - 15:59) |
Да хоть 50 000, не вижу в чем проблема. |
Как их все проверить, что они не пустые пришли. Вот загвоздка.
twin, была такая мысль. Но а как проверить, что для title1 не пустая description1, cat1,label1,eng1 это же лапшекод получается для 10 тем более.
Valick
10.08.2019 - 17:40
Эли4ка, есть такая штука, циклы называются. Проверяй хоть 50 миллионов.
_____________
Стимулятор ~yoomoney - 41001303250491
Эли4ка
10.08.2019 - 18:00
Наподобие такого?(псевдокод)
цикл начало
если title1 description1, cat1,label1,eng1 и не пустые
конец
так?
killer8080
10.08.2019 - 18:52
я бы сделал многомерный сгруппированный массив, имхо так удобней
<input type="text" name="dataset[0][title]" placeholder="title">
<input type="text" name="dataset[0][description]" placeholder="description"><br>
<input type="text" name="dataset[1][title]" placeholder="title">
<input type="text" name="dataset[1][description]" placeholder="description"><br>
<input type="text" name="dataset[2][title]" placeholder="title">
<input type="text" name="dataset[2][description]" placeholder="description"><br>
в пост прилетит такая структура
Array
(
[dataset] => Array
(
[0] => Array
(
[title] => t1
[description] => d1
)
[1] => Array
(
[title] => t2
[description] => d2
)
[2] => Array
(
[title] => t3
[description] => d3
)
)
)
разбираем циклом
if (!empty($_POST['dataset']) && is_array($_POST['dataset'])) {
foreach ($_POST['dataset'] as $dataset) {
...
}
}
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.