Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Базы Данных > PHP+MySQL+AJAX |
Автор: NEDI 30.4.2006, 15:41 | ||
Я думаю, все понимают, что время WEB 2.0. уже пришло. Поэтому нижеприведенная инфа будет интересна многим. У меня есть таблица в БД, допустим speciality. (специализация). В ней 3 поля: первое quantity (auto_increment), второе speciality, третье surname. В столбце speciality допустим идут значения сантехник, киповец, программер, строитель, мануальный терапевт и так далее. В столбце surnames – фамилии специалистов. Из базы извлекаются все значения столбца speciality и преобразовываются в массив special[]. Результат передаётся в функцию show_listbox
На выходе имеем листбокс, в котором на выбор предлагаются все специализации, начиная с выбранной точки отсчёта ($i). Мне нужно, чтобы при выборе специальности появлялся второй листбокс, в котором было бы предложено выбрать фамилию специалиста, из существующего списка. Конечно желательно модифицировать существующую функцию, а не писать ещё одну. Естественно было бы очень приятно, чтобы второй листбокс появлялся без перезагрузки страницы, т.е. используя технологию AJAX. В JS я абсолютный дуб/нуб ![]() Там достаточно зарегистрировать PHP функцию, и повесить её на JS обработчик. Но МySQL функции напрочь отказываются работать. http://mail2dig.at.tut.by/INFA.zip есть вышеупомянутая библиотека с комментариями разработчика и примером использования и статья Криса Хэдлока, о MySQL и AJAX’e тоже с переводом и примерами. Исчо адин вапрос: а целесообразно ли вообще использовать АЯКС в таких конструкциях? Может на самом деле будет быстрее перезагрузить страницу? Итак, Ваши соображения господа программеры! |
Автор: Mobius 1.5.2006, 10:55 |
мне вот надо реализовать такую же фичу, ![]() |
Автор: madFobos 2.5.2006, 23:26 |
Хм... Ну я реализовывал двойной список с помощью PEAR::HTML_QuickForm. Вообще-то (я думаю в KE AJAX должно быть нечто подобное) нужно создать два массива, первый бедет как раз специальностями, а второй двумерным массивом вида: Array('spciallity1' => Array(<peoples array>), 'speciallity2' => Array(<peoples array>)), Т.е. ключи первого массива - это есть ключи массивов с людьми (вроде понятно мысль изложил ![]() |