|
|
|
|
|
для: Terry
(12.07.2008 в 00:05)
| | Наконец-таки разобрался, исправил все баги и всё заработало. Спасибо всем, кто помог - и за наводящие вопросы, заставившие ещё раз пересмотреть структуру базы данных, и за советы, и за участие. | |
|
|
|
|
|
|
|
для: sms-send
(11.07.2008 в 23:39)
| | ICQ 299350272
Не моя аська, стоит на компе, которым я пользуюсь сегодня-завтра. С разрешения хозяйки. | |
|
|
|
|
|
|
|
для: Terry
(11.07.2008 в 23:31)
| | >В форме:
>
<input type="checkbox" name="to_copy[]" value="{groups.group_id}" />
|
Лучше показать не шаблон, а реальную html форму, которую генерирует скрипт.
***
ICQ есть? | |
|
|
|
|
|
|
|
для: sms-send
(11.07.2008 в 22:41)
| | Если в БД вручную выставить нужные группы, то они отмечаются в checkbox'ах.
Если в checkbox'ах выставить нужные группы - происходит что-то мне непонятное: передаётся то количество значений, сколько выбрано, но все они равны первому выбранному значению. Попытаюсь объяснить:
В форме:
<input type="checkbox" name="to_copy[]" value="{groups.group_id}" />
|
В обработчике:
if(isset ($_REQUEST["to_copy"]))
{
$group_id = array();
for($i=0; $i<sizeof($_REQUEST['to_copy']); $i++)
{
$group_id[$i]['gr_id'] = (int)$_REQUEST['to_copy'][$i];
$id_group = $group_id[$i]['gr_id'];
?>
<script language="javascript">alert('<?php print $id_group;?>');</script>
<?php
}
}
|
Т.е., при попытке распечатать передаваемые значения я каждый раз получаю alert только с id первой отмеченной группы, соответственно и в БД при дальнейшей обработке заносится только одна из выбранных групп. | |
|
|
|
|
|
|
|
для: Terry
(11.07.2008 в 15:23)
| | Я про то, где именно происходит ошибка.
2 вопроса:
1. Если в checkbox'ах выставить нужные группы, они сохраняются в БД?
2. Если в БД вручную выставить нужные группы, они отмечаются в checkbox'ах? | |
|
|
|
|
|
|
|
для: sim5
(11.07.2008 в 15:43)
| | To: Автор: sim5 (11.07.2008 в 15:43)
Список я получаю, а вот группы не выделяются.
Списками, возможно, удобней - в будущем учту) Только и в этом хочется разобраться - мало ли пригодится) | |
|
|
|
|
|
|
|
для: sim5
(11.07.2008 в 15:43)
| | Сорри, не туда отправил | |
|
|
|
|
|
|
|
для: Roma
(11.07.2008 в 16:00)
| | Если я правильно тебя понял - 2 цикла, во внешнем перебираем все чекбоксы на форме, во внутреннем - для каждого чекбокса - ищем в массиве с id нужных группу, при совпадении - отмечаем чекбокс. А раз у меня форма и обработчик в разных файлах - поставить на форме в инпуте переменную.... Спасибо! Надеюсь, заработает. | |
|
|
|
|
|
|
|
для: sim5
(11.07.2008 в 15:43)
| | Если я правильно понял суть проблемы.
может как-то так:
<?php
//$group_arr - массив id-групп, к которым относится данный товар
$query=mysql_Query("select group_id,group_name from groups");
while($res=mysql_fetch_array($query)){
if(in_array($res['group_id']),$group_arr)$checked="checked";else $checked="";
echo"<input name=group[] type=checkbox $cheched value='".$res['group_id']."'>".$res['group_name'];
}
?>
|
ps ой, сообщение адресовалось Terry | |
|
|
|
|
|
|
|
для: Terry
(11.07.2008 в 15:23)
| | По здравому смыслу - группа товаров, это верхний уровень тогда, иначе путаница. Группы должны иметь категории товаров - собственно выражение "Группа товаров" это просто верхняя категория с id_parent равная 0. Ну а далее (подгруппа) субкатегории с id_parent равные id родителей. Товар в свою очередь, кроме id_parent (принадлежность родителю), должен иметь еще и id_group, то есть в какие группы товаров он может входить (ктегории самого верхнего уровня). Тогда получить этот список и согласно ему отметить чекбоксы, это уже не сложно. Вот только менять (переносить из группы в группу) не очень удобно будет. Все-таки (мне так кажется) лучше списками - компактней и удобней. | |
|
|
|
|