[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передать параметры из чекбоксов с переменными значениями name
yura2007
Есть форма добавления компаний, в которой есть чекбоксы и названия категорий компаний и в каждой категории - список подкатегорий с чекбоксами. Категории и подкатегории выводятся из MYSQL.
Данные о выбранных категориях передаются правильно, а с подкатегориями не получается.
Вот как выглядит кусок скрипта, который выводит нужную часть формы с этими чекбоксами, где отображаются категории:

echo "<p><input type='checkbox' name='chcat[]' value='".$rowCat['id_category']."' onclick=\"swapTables(".$i.", ".$rowCat['id_category'].");\"".$ch_value."> ".$rowCat['name_category'];

Далее нужна выборка подкатегорий данной категории
for ( ........... или while ....


Вот часть скрипта, который "принимает" параметры категорий (:

for ($k=0; $k<count($_POST[chcat]); $k++)
{
if ($_POST[chcat][$k]) echo $_POST[chcat][$k];
}


Т.е., для категорий я для чекбоксов пишу name='chcat[]'. Как правильно присваивать в чекбоксах для покдатегорий 'name' и как их потом "принимать" скриптом?





Спустя 5 минут, 1 секунда (10.12.2007 - 16:31) vasa_c написал(а):
Как хранятся подкатегории?
Если в одной таблице, привязанные к предкам, то так же и оставьте. По $rowCat['id_category'] потом определите категория это или подкатегория.

Или опишите более подробно. Где хранится, что за список, для чего он нужен. Приведите минимально рабочий html-код без PHP и JS.

Спустя 19 минут, 21 секунда (10.12.2007 - 16:50) yura2007 написал(а):
Цитата(vasa_c @ 10.12.2007, 13:31) [snapback]30386[/snapback]
Как хранятся подкатегории?
Если в одной таблице, привязанные к предкам, то так же и оставьте. По $rowCat['id_category'] потом определите категория это или подкатегория.

Или опишите более подробно. Где хранится, что за список, для чего он нужен. Приведите минимально рабочий html-код без PHP и JS.



Хрянятся категории и подкатегории в одной таблице. Выводится на страницу все как нужно. Проблема не в базе данных. Проблема только при передаче параметров из формы, а именно, значений чекбоксов.
Попробую изложить чуть подробнее.
Есть форма для добавления компании в каталог. Каталог разбит на категории и подкатегории. Т.е., в форме присутствуют название компании, адрес, тел и т.д., и категории и к каждой категории - соответствующие ей подкатегории. Подкатегории выводятся во вложенонм цикле.
Пользователь должен заполнть все поля и выбрать необходимую ему категорию (одну или более) и в выбранных категориях при необходимости выбрать одну или несколько подкатегорий. Форма на странице пользователя выводится отлично, но после нажатия на "Сохранить" в скрипт обработки данных формы передаются все параметры кроме выбранных подкатегорий.
Вопрос стоит только в том, как в форме правильно указать "name" и как его правильно принять скриптом, который принимает и обрабатывает данные из формы. Вот небольшая часть html-кода:

<input type="hidden" name="num1" value="10">
<input type='checkbox' name='chcat[]' value='24' onclick="swapTables(0, 24);"> Базовые химические и нефтехимические продукты
<input type="hidden" name="num0" value="12">
<table border="1" bordercolor="#F6EFDF" cellpadding=0 cellspacing=0 width=100% id='frm_24' style="display:none">
<tr>
<td width=25% style="color:#A58421; padding-left:5">
<input type="checkbox" name='subcat[]' id='subc0_0' value='27'>  Метанол</td>
<td width=25% style="color:#A58421; padding-left:5">
<input type="checkbox" name='subcat[]' id='subc0_1' value='28'>  Аммиак</td>
<td width=25% style="color:#A58421; padding-left:5">
<input type="checkbox" name='subcat[]' id='subc0_2' value='29'>  Кислоты</td>
</tr>
<tr>
<td width=25% style="color:#A58421; padding-left:5">
<input type="checkbox" name='subcat[]' id='subc0_3' value='30'>  Формальдегид</td>
<td width=25% style="color:#A58421; padding-left:5">
<input type="checkbox" name='subcat[]' id='subc0_4' value='31'>  Этилен</td>
<td width=25% style="color:#A58421; padding-left:5"><input type="checkbox" name='subcat[]' id='subc0_5' value='32'>  Пропилен</td>
</tr>
.........


<input type='checkbox' name='chcat[]' value='26' onclick="swapTables(2, 26);"> Шины и РТИ
<input type="hidden" name="num2" value="9">
<table border="1" bordercolor="#F6EFDF" cellpadding=0 cellspacing=0 width=100% id='frm_26' style="display:none">
<tr>
<td width=25% style="color:#A58421; padding-left:5">
<input type="checkbox" name='subcat[]' id='subc2_0' value='60'>  Шины легковые</td>
<td width=25% style="color:#A58421; padding-left:5">
<input type="checkbox" name='subcat[]' id='subc2_1' value='61'>  Шины грузовые</td>
<td width=25% style="color:#A58421; padding-left:5"><input type="checkbox" name='subcat[]' id='subc2_2' value='62'>  Шины с/х</td></tr>
<tr><td width=25% style="color:#A58421; padding-left:5"><input type="checkbox" name='subcat[]' id='subc2_3' value='63'>  Шланги</td>
...


Здесь, вероятно ошибка в name='subcat[]'. Как правильно должно быть?

Спустя 1 час, 20 минут, 38 секунд (10.12.2007 - 18:11) vasa_c написал(а):
Например, "subcat[<id категории>][]", тогда подкатегории для 5-й категории сможете получить из массива $_POST['subcat'][5]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.