Автор Тема: Динамическое формирование списка  (Прочитано 3512 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Qwerty

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 4
  • +0/-0
  • 0
    • Просмотр профиля
Динамическое формирование списка
« : 19 Февраля 2003, 16:31:31 »
Господа, кто-нибудь сможет подсказать как сделать сабж опираясь на выбранное значение. Хм. немного непонятно написал, наверное. :)
Поясняю:
Имеем простейшую форму из двух выпадающих списков и кнопки сабмита (или можно без кнопки, если с ней никак). Выпадающие списки представляют из себя содержимое двух директорий - соответственно годов и классов (директории классов содержатся в каждой из директориях годов). Оба списка формируются динамически - по созданию/удалению директорий.
Но вот в чем загвоздка: так как количество классов в разных годах не одинаково, то список классов нужногенерировать на основе выбранного года.
Может быть, кто-нибудь знает, как это сделать?
Каждый по-своему прав.

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Динамическое формирование списка
« Ответ #1 : 19 Февраля 2003, 17:31:37 »
Для формы с годами пишешь обработчик JavaScript, который при смене позиции (OnChange) сабмитит форму скрипту, строящему список классов. А тот, в свою очередь спокойно по переданному значению построит второй список
TANSTAAFL

Оффлайн Qwerty

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 4
  • +0/-0
  • 0
    • Просмотр профиля
Динамическое формирование списка
« Ответ #2 : 20 Февраля 2003, 13:12:58 »
2Maniac: т.е. исключительно на ПХП этого не сделать, нужно привлекаить явускрипт? :( Тогда вопрос по последней фразе поста: "как сделать так, чтобы он по переданному значению генерил соответствующий список?", т.е., как-бы, заходил в соответствующую директорию и генерил список каталогов в ней...
Каждый по-своему прав.

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
Динамическое формирование списка
« Ответ #3 : 20 Февраля 2003, 15:19:10 »
вот, если на скорую руку... я так для базы делал, а ты уже под себя можешь адаптировать :)

function make_select$select_name$query$default_option ""$select_message "" )
{
	
$result mysql_query($query);
	
if( !
$result )
	
{
	
	
return 
0;
	
}
	
$select  "<select name=\\"$select_name\\">";
	
$select .= "<option value=\\"\\">$select_message</option>";
 
	
for( 
$i=0$i mysql_numrows($result); $i++ ) 
	
{
	
	
$opt_code mysql_result($result$i0);
	
	
$opt_desc mysql_result($result$i1);
	
	
$select .= "<option value=\\"$opt_code\\"";
	
	
if( 
$opt_code == $default_option 
	
	
{
	
	
	
$select .= " selected";
	
	
}
	
	
$select .=  ">$opt_desc</option>";
	
}
	
$select .= "</select>\\n";
	
return( 
$select );
}
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Динамическое формирование списка
« Ответ #4 : 20 Февраля 2003, 16:52:20 »
USE
Ээээ... А при чем тут БД? Он же просил для директорий...
Qwerty
Гм. Примерно так

function GenerateList($year,$select_name=\'\')
{
	
$base_dir=\'/some/dir/where/years/are/storaged\';
	
if (!is_dir("$base_dir/$year")) return 0;
	
else
	
{
	
	
$select_stat="<SELECT name=\'$select_name\'>\\n"
	
	
$dir=opendir("$base_dir/$year");
	
	
while ($file=readdir($dir))
	
	
	
if ($file!=\'.\'&&$file!=\'..\'&is_dir("$base_dir/$year/$file"))
	
	
	
	
$select_stat.="<option value=$file>$file</option>\\n";
	
	
return $select_stat;
	
}
}
TANSTAAFL

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
Динамическое формирование списка
« Ответ #5 : 20 Февраля 2003, 16:59:27 »
[OFF]Maniac, Так не все же на блюдце выносить. Главное чтобы человек идею понял и все тут, а заменить функции не так уж сложно, даже проще...[/OFF]
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Динамическое формирование списка
« Ответ #6 : 20 Февраля 2003, 17:03:10 »
[OFF]
USE, ты конечно, прав, но тут вся фишка именно в алгоритме просмотра содержимого директории (которого, судя по всему, QWERY не знал[/OFF]
TANSTAAFL

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
Динамическое формирование списка
« Ответ #7 : 20 Февраля 2003, 17:05:42 »
[OFF]наверняка ты прав. буду внимательней в дальнейшем. спасибо за поправку.[/OFF]
Не ходите, дети, без «Мозиллы» дальше localhost!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28