Я создал многошаговую форму с использованием CCK, однако у меня есть несколько нерешенных проблем, но я не уверен, что CCK может помочь.
В одном шаге формы у меня есть 2 поля выбора, первый автоматически заполняется из словарной таблицы следующим кодом и все хорошо работает.
$category_options = array();
$cat_res = db_query('select vid, name from vocabulary WHERE vid > 1 ORDER BY name ASC');
while ($cat_options = db_fetch_object($cat_res)) {
$category_options[$cat_options->vid] = $cat_options->name;
}
return $category_options;
Что я хотел бы сделать, так это то, что когда пользователь выбирает один элемент из словарного списка, он автоматически заполняет другое поле выбора терминами из таблицы term_data. У меня 2 вопроса;
1) Я добавил следующий код во второй список выбора, просто чтобы убедиться, что он работает (ЭТО НЕ ДЕЛАЕТ). Есть несколько терминов, связанных с каждым словарем, но второй sql Statemant возвращает только один результат, когда он должен возвращать несколько (ТАК ЧТО-ТО НЕПРАВИЛЬНО). Например, в таблице term_date есть 6 терминов с vid 3, но я добавляю только один, чтобы выбрать список.
$term_options = array();
$term_res = db_query('select vid, name from term_data WHERE vid = 3 ORDER BY name ASC'); while ($options = db_fetch_object($term_res)) {
$term_options[$options->vid] = $options->name;
}
return $term_options;
2) Могу ли я добавить onChange к первому списку выбора для вызова функции автоматического заполнения второго списка с помощью CCK, или мне нужно склоняться к выполнению всей моей формы с использованием API FORM.
Любая помощь или мысли будут очень признательны.