powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Два связанных выпадающих списка
13 сообщений из 13, страница 1 из 1
Два связанных выпадающих списка
    #32154057
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть два справочника (MySQL):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 table1_key     | table1_value 
==============================
  1               | aa
  2               | bb
==============================


 table2_key     | table1_key     | table2_value
===============================================
  1               |  1               | aa1
  2               |  1               | aa2
  3               |  1               | aa3
  4               |  2               | bb1
  5               |  2               | bb2
  6               |  2               | bb3
===============================================


Делаю форму, запросами получаю данные из обоих справочников и отображаю их в выпадающие списки.

Как сделать так, чтобы при изменении значения в первом списке (table1_key) во втором списке обновлялись и появлялись только те значения из table2, для которых table2.table1_key=table1.table1_key?
...
Рейтинг: 0 / 0
Два связанных выпадающих списка
    #32154074
Pups The RAPtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну с ходу есть два варианта:

1. Простейший. Через перезагрузку страницы с передачей tabel1_key.

2. С помощью javascript. Формируем два массива и потом при изменениии первого списка меняем второй.

Я обычно для коротких списков применяю второй вариант, для длинных - первый.
...
Рейтинг: 0 / 0
Два связанных выпадающих списка
    #32154084
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А поподробнее можно, с примерами кода?
...
Рейтинг: 0 / 0
Два связанных выпадающих списка
    #32154092
Pups The RAPtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первый вариант или второй?
...
Рейтинг: 0 / 0
Два связанных выпадающих списка
    #32154137
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оба =)
Дело в том, что размер списков может изменяться, точнее пользователю позволено добавлять туда элементы.
...
Рейтинг: 0 / 0
Два связанных выпадающих списка
    #32154154
Pups The RAPtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скрипты :). Да, с этим сложнее. Такие фишки в интернете я не выкладывал, все работает у заказчиков во внутренней сетке.

По второму варианту: я этот браз за исходник. Потом поправил под свои задачи чуть-чуть.

По первому: Идея такая, две формы, в каждой свой список, у первой action - этотже скрипт, у второй что угодно. Плюс во второй есть невидимое поле хранящее id из первого списка (это если надо, мне вот надо было). На первом списке висит событие on_change(), которое делает submit первой формы средствами javascript.
Алгоритм такой:
Если id первого списка пустое, то рисуем полный первый список и пустой второй. Список изменили, форма отправилась, скрипт выполнился второй раз. Id первого списка не пустое. следовательно рисуем первую форму со всем списком, помечая выбранное значение. Ну и формируем второй список, отбирая в него только нужные записи.

Написать проще чем объяснить ;)).

По последнему пункту: обычно примерные размеры справочников определяются еще на этапе проектирования БД. И я обычно применяю второй способ там где количество записей меньше сотни (в двух табличках).
...
Рейтинг: 0 / 0
Два связанных выпадающих списка
    #32154211
Фотография ScableR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше использовать яво-скрипт (можно, правда и яву), потому-что при перезагрузке будет тратиться время юзера (а ежели он с диалапом?).
...
Рейтинг: 0 / 0
Два связанных выпадающих списка
    #32154227
Pups The RAPtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не спорю, для диалапа перезагрузка критична. Но большой объем данных - тоже критичен, не правда ли? Вот и надо найти компромис между этими двумя вещами. А это мы за Гостя никак не сделаем ;)). К тому же первый способ не зависит от браузера, а второй может и зависеть ;)).
...
Рейтинг: 0 / 0
Два связанных выпадающих списка
    #32154239
Фотография ScableR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, ну тогда проверку на версию броузера сделать надо! И соответственно сделать два варианта:
- С Ява - скриптами
- Просто загружающийся.
Большой объем данных? Ну и что? Знаешь, ждать пока загрузиться список полностью может оказаться легче, чем ждать пока загрузиться страница. Причем не забывай, что в странице вставлены картинки & т.п. фичи... Так-что соответственно.
...
Рейтинг: 0 / 0
Два связанных выпадающих списка
    #32154278
Pups The RAPtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предположим у нас общий вес странички (без массива но с картинками и т.п.) скажем 20кб, в первой таблице тыщща записей и для каждой тыщща записей во второй таблице.
Вопрос: так сколько надо будет клиенту закачать к себе кб?

В моем первом примере тыщща записей из первого списка + тыщща записей из второго.
В моем (и твоем) втором примере тыщща х тыщща = миллион записей.

При длинне строки в БД даже в 100 символов, сколько это кб будет?

Я конечно понимаю, что это не совсем честный пример, но, повторюсь, тут надо плясать от количества записей, которого мы не знаем.
...
Рейтинг: 0 / 0
Два связанных выпадающих списка
    #32154300
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, коллеги. Будем думать. Пока сделаю на javascript.
...
Рейтинг: 0 / 0
Два связанных выпадающих списка
    #32154306
Pups The RAPtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напиши потом что получилось ;)).
...
Рейтинг: 0 / 0
Два связанных выпадающих списка
    #32154692
Фотография ScableR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лана, если лимон записей, то да... Это геморой. Тому, кто будет ждать загрузку :). Теперь понятно, почему автору топика хочется сделать несколько списков.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Два связанных выпадающих списка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]