zilber 3 Опубликовано: 25 декабря 2015 Рассказать Опубликовано: 25 декабря 2015 Приветствую, друзья. Столкнулся с нетривиальной (для меня) проблемой... Есть страница, на ней таблица, которая заполняется по следующему принципу: #документа <form> <таблица> | checkbox | textarea | textarea | textarea | | checkbox | textarea | textarea | textarea | | checkbox | textarea | textarea | textarea | </таблица> <submit-пимпа> </form> Заполнение строками - пока foreach не треснет. Textarea работают как доводы для пользователя, чтобы он решил нажать checkbox. Отмеченные checkbox'ы передают свои value при сабмите, создается в отдельной таблице базы строка с привязкой пользователя к номеру документа и со списком ID отмеченных чекбоксов. Обработчик с радостью ждет содержимое чекбоксов в конструкции foreach $_POST['chkbx_id'] { blablabla} Чепчики в небо, ура. И вот тут подкрался Бэтмен... К номеру документа и пользователю должны быть привязаны и данные из textarea тех строк, что отмечены были чекбоксами. Они, конечно, берутся из базы, но ведь шаловливый пользователь может (и имеет на это право) немного изменить информацию в любом из textarea и затем, если он захочет вернуться к документу, не видеть стандартные данные из базы, а свои, редактированные. То бишь создаю еще одну таблицу, к примеру doc_data. Каждая строка в которой содержит пользователя, номер созданного документа, ID чекбокса конкретной строки и содержимое textarea's этой строки. Сам Бэтмен: как привязать textarea из строки к чекбоксу этой строки? Приходят в голову игры с формами, но если foreach родил сто строк, будет сто форм, отправляемых одним submit... Мама, роди меня обратно. И какие тогда идентификаторы должны быть у всех 4х input одной строки/формы? Переменные типа '.$x++.' тут будут смотреться странно, или я неправ? Если я в обработчике приму чекбокс и успешно проверю его значение, мне нужно будет как-то идентифицировать информацию, к нему прилагающуюся. Внимание вопрос! /гонг/ Какие могут быть методы решения привязки информации нескольких input к значению checkbox? Цитата Ссылка на сообщение Поделиться на других сайтах
zilber 3 Опубликовано: 25 декабря 2015 Рассказать Опубликовано: 25 декабря 2015 Автор Решил так: Форма: $a=1; $b=1; $c=1; $d=1; | checkbox['.$a++.'][] | textarea1['.$b++.'][] | textarea2['.$c++.'][] | textarea3['.$d++.'][] | | checkbox['.$a++.'][] | textarea1['.$b++.'][] | textarea2['.$c++.'][] | textarea3['.$d++.'][] | | checkbox['.$a++.'][] | textarea1['.$b++.'][] | textarea2['.$c++.'][] | textarea3['.$d++.'][] | Принимаю: $a = $_POST['checkbox']; $b = $_POST['textarea1']; $c = $_POST['textarea2']; $d = $_POST['textarea3']; for($i=0; $i < $a; $i++) { foreach($checkbox[$i] as $checkbox) { foreach($textarea1[$i] as $textarea1) { foreach($textarea2[$i] as $textarea2) { foreach($textarea3[$i] as $textarea3) { echo checkbox.textarea1.textarea2.textarea3; } } } } } Согласен, Дед Мороз повесится, зато работает... Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.