|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.09.2008, 19:35 | #1 |
Пользователь
Регистрация: 06.05.2008
Сообщений: 88
|
Генерация выпадающих списков
Сразу хочу сказать, если создал тему не в том разделе не серчайте, так и не решил к какому она относиться Хочу написать страницу ввода адреса, что бы она выглядела следующим образом, выпадающие списки со странами, областями, городами, улицами и т.д., сначала выбирается страна, после этого в списке с областями появляются области только из этой страны, дальше после выбора области, аналогично сортируются города и т.д. Страны, области и прочее хранятся в базе данных. В свое время такое у меня было на писано на делфи, а вот при переносе на веб форму столкнулся с проблемой. Заранее спс!
|
22.09.2008, 08:21 | #2 |
Пользователь
Регистрация: 12.11.2006
Сообщений: 57
|
Желательно определить Ваши знания. Вы знаете AJAX, JS, PHP и HTML? Если нет, то я и обьяснить не смогу
Незнание человека не повод, чтобы над ним издеваться или смеяться, все мы чего-то не знали или не знаем...
|
22.09.2008, 09:56 | #3 |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
На delphi это сделать проще. В веб интерфейсе нельзя без обновления страницы обратиться к серверу потому что http протокол это не предусматривает по крайней мере в удобной и простой форме. У Вас есть 2 выхода:
1. Подружать всю информацию по регионам вместе со страницей и писать всплывающий список на javascript. Но это крайне нежелательно по очевидным причинам. 2. Использовать технологию AJAX, что тоже непросто. В любом случае надо хорошо знать javascript...
Стрелок-охотник
|
22.09.2008, 18:39 | #4 |
Пользователь
Регистрация: 06.05.2008
Сообщений: 88
|
php и html знаю нормально, с js и AJAX разбираюсь с момента создания этого поста, аякс даеться с трудом, понял что к нему много готовых библиотек, но не могу до конца разобраться, остановился на JShttpRequest у нее хоть и очень маленький набор функций, но вроде бы для моей задачи хватает. Вот что я накидал сам:
Код:
З.Ы.: предполагаю что кусок кода бредовый, но углубленно разбераться с аяксом времени не хватает, в универе сказали что нужно написать курсач на пхп, дали два месяца времени и при этом никто этот язык не обьясняет |
23.09.2008, 11:21 | #5 |
Пользователь
Регистрация: 12.11.2006
Сообщений: 57
|
Прости но мне Ваш код вообще не понравился, вообщем поясняю делаешь так:
есть у Вас 1 селект, может готовый, может генерируется в базе, лучше не делай цикл, потом перебор, ну хотя я весь код не вижу, может это и надо делать. Если у Вас шаблонно - модульная структура, и то что-то меня смущает. Когда пользователь на первом селекте выберет поле (onChange в js) Вы на сервер-скрипт посылаете через xmlhttprequest значение этого поля, после скрипт получив значение выберает из базы все значение, родитель которого равен этому значение и выводит (echo в php) эти значение в 1 строку, допустим разделённую этими знаками @A;. Дальше это вернёться скрипту сделанному запрос, Вы при помощи (split в js) делете значение, перебераете и выводите туда куда Вам нужно. Ещё раз повторяю, чтобы всё это сделать нужно знать HTML, CSS, JS, Ajax, MySQL. Но если не знаете Ajax, то можно и без него, но страницы перегружать прийдёться. Если у Вас сайт на ЧПУ и не хорошо продуманная структура или сайт в перемешку с php и html возникнут проблемы с перезагрузками . Так, что аккуратнее! Удачи в реализации задуманного.
Незнание человека не повод, чтобы над ним издеваться или смеяться, все мы чего-то не знали или не знаем...
Последний раз редактировалось mager; 23.09.2008 в 11:25. |
23.09.2008, 14:35 | #6 | |
Пользователь
Регистрация: 06.05.2008
Сообщений: 88
|
Идея ясна, спасибо, попробую реализовать.
Цитата:
Код:
|
|
24.09.2008, 09:58 | #7 |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Плохо в вашем коде то, чтовы не разделяете код и разметку. При большом количестве кода это приведет к его полной нечитаемости. Моя группа программистов использует такую шаблонную систему.
PHP код:
-str_replace() вставляем сгенерированный список
Стрелок-охотник
|
24.09.2008, 14:32 | #8 | |
Пользователь
Регистрация: 12.11.2006
Сообщений: 57
|
Цитата:
while ($dataReg=mysql_fetch_array($result ,MYSQL_NUM)) { echo "<OPTION VALUE='".$dataReg[название столбца в котором лежит значение]."'>".$dataReg[название столбца в котором лежит значение]."</option>"; } ВЫ делаете много не нужной переборки, ладно если скрипт маленький, а если это соц сеть с онлайн в 10000 человек? У хорошего программиста код краткий и понятный. И на сколько я помню у option есть закрывающий тег, у Вас я этого не увидел. Но это в принципе не обязательно.
Незнание человека не повод, чтобы над ним издеваться или смеяться, все мы чего-то не знали или не знаем...
|
|
24.09.2008, 17:27 | #9 |
Пользователь
Регистрация: 06.05.2008
Сообщений: 88
|
Я учел замечание в оформление кода, полностью оптимизировать не удалось, но думаю со временем будет получаться Как написать динамический селект я вроде понял, но до этого не дошел, споткнулся на стади тестировния связи js(сервер) <-> php(сервер) она просто не пашет, почему понять не могу. Вот коды:
Главная страница(собственно индекс) Код:
Код:
Код:
Код:
|
24.09.2008, 17:42 | #10 |
Пользователь
Регистрация: 06.05.2008
Сообщений: 88
|
Код фаила quickstart.js
Код:
[CODE] <?php // we'll generate XML output header('Content-Type: text/xml'); // generate XML header echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'; // create the <response> element echo '<response>'; // retrieve the user name $name = $_GET['name']; echo htmlentities($name) . ', I don\'t know you!'; echo '</response>'; ?> |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание выпадающих списков в Word | Dux | Microsoft Office Word | 12 | 25.08.2008 09:50 |
Сравнение двух списков | lelik759 | Microsoft Office Excel | 7 | 13.04.2008 22:19 |
Объединение списков. | life_burns | Microsoft Office Excel | 5 | 05.04.2008 16:13 |
Взаимодействие списков. Похоже на сводную, но не она. | Matthias | Microsoft Office Excel | 4 | 22.02.2008 15:17 |