Комментарии 48
Мне кажется, для обработки человеком удобнее форма со списком, упорядоченным по алфавиту.
У вас где-то ошибка. Вологодская область это 35 регион
<option value=«50»>Магаданская область</option>
<option value=«51» >Московская область</option>
Московская область — это 50, а не 51. Про Магадан не знаю.
<option value=«51» >Московская область</option>
Московская область — это 50, а не 51. Про Магадан не знаю.
<option value="Адыгея">Адыгея</option>
Это вообще как? )
хм… а что не нравится?
Ну, к БД с таким параметром обращаться не очень быстро получится. Коды регионов были логичнее.
Только что тестировал, в БД отправляется нормально.
Я был бы благодарен, если бы вы объяснили, чем коды лучше названий в кириллице. В любом случае, сделаю второй код с цифровыми кодами.
Я был бы благодарен, если бы вы объяснили, чем коды лучше названий в кириллице. В любом случае, сделаю второй код с цифровыми кодами.
Вот если бы вы сделали REST-сервис, отдающий список регионов — была бы полезная штука.
оо, на REST у меня, компетенции, к сожалению, не хватит.
мне казалось REST изначально предполагает использование методов http для получения/изменения: сделать DELETE и удалить пару регионов. А если нужно всего лишь получить имя региона по host/region/1 — то это просто сервис с френдли-url.
ну тогда это будет как-то так:
http://ru-region.appspot.com/region/
http://ru-region.appspot.com/region/52
http://ru-region.appspot.com/region/RU-NIZ
http://ru-region.appspot.com/region/
http://ru-region.appspot.com/region/52
http://ru-region.appspot.com/region/RU-NIZ
у регионов есть iso коды, которые вполне уместно использовать вместо цифровых id
Почему-то у половины субъектов отсутсвуют типы региона (республика, область и т.п.)
Отсутствуют только области.
Автономная область и Автономные округа сокращены в АО.
Не сочтите за шовинизм. Я и области хотел убрать, но если республики можно переделать из Республики Татарстан в Татарстан, то с областями получается менее логично.
Автономная область и Автономные округа сокращены в АО.
Не сочтите за шовинизм. Я и области хотел убрать, но если республики можно переделать из Республики Татарстан в Татарстан, то с областями получается менее логично.
Поправил. Добавил везде республики
<option value=«20»>Чеченская </option>
<option value=«21»>Чувашская Республика</option>
Ну либо так либо так. Вообще регионы имеет смысл писать полностью с типом, в том числе республики, но сортировать по названию. Ну и уж точно не просто отрезать слово.
<option value=«21»>Чувашская Республика</option>
Ну либо так либо так. Вообще регионы имеет смысл писать полностью с типом, в том числе республики, но сортировать по названию. Ну и уж точно не просто отрезать слово.
А не было бы проще сделать массив, хотя бы JS, а затем его использовать?
Например, такой regions.js:
И достаточно простое его использование:
Например, такой regions.js:
function getRegions() {
return [
[«RU-AD», «Республика Адыгея»],
[«RU-AL», «Республика Алтай»],
[«RU-BA», «Республика Башкортостан»],
[«RU-BU», «Республика Бурятия»],
[«RU-DA», «Республика Дагестан»],
[«RU-IN», «Республика Ингушетия»],
[«RU-KB», «Кабардино-Балкарская Республика»],
[«RU-KL», «Республика Калмыкия»],
[«RU-KC», «Карачаево-Черкесская Республика»],
[«RU-KR», «Республика Карелия»],
[«RU-KO», «Республика Коми»],
[«RU-ME», «Республика Марий Эл»],
[«RU-MO», «Республика Мордовия»],
[«RU-SA», «Республика Саха (Якутия)»],
[«RU-SE», «Республика Северная Осетия — Алания»],
[«RU-TA», «Республика Татарстан»],
[«RU-TY», «Республика Тыва»],
[«RU-UD», «Удмуртская Республика»],
[«RU-KK», «Республика Хакасия»],
[«RU-CE», «Чеченская Республика»],
[«RU-CU», «Чувашская Республика»],
[«RU-ALT», «Алтайский край»],
[«RU-ZAB», «Забайкальский край»],
[«RU-KAM», «Камчатский край»],
[«RU-KDA», «Краснодарский край»],
[«RU-KYA», «Красноярский край»],
[«RU-PER», «Пермский край»],
[«RU-PRI», «Приморский край»],
[«RU-STA», «Ставропольский край»],
[«RU-KHA», «Хабаровский край»],
[«RU-AMU», «Амурская область»],
[«RU-ARK», «Архангельская область»],
[«RU-AST», «Астраханская область»],
[«RU-BEL», «Белгородская область»],
[«RU-BRY», «Брянская область»],
[«RU-VLA», «Владимирская область»],
[«RU-VGG», «Волгоградская область»],
[«RU-VLG», «Вологодская область»],
[«RU-VOR», «Воронежская область»],
[«RU-IVA», «Ивановская область»],
[«RU-IRK», «Иркутская область»],
[«RU-KGD», «Калининградская область»],
[«RU-KLU», «Калужская область»],
[«RU-KEM», «Кемеровская область»],
[«RU-KIR», «Кировская область»],
[«RU-KOS», «Костромская область»],
[«RU-KGN», «Курганская область»],
[«RU-KRS», «Курская область»],
[«RU-LEN», «Ленинградская область»],
[«RU-LIP», «Липецкая область»],
[«RU-MAG», «Магаданская область»],
[«RU-MOS», «Московская область»],
[«RU-MUR», «Мурманская область»],
[«RU-NIZ», «Нижегородская область»],
[«RU-NGR», «Новгородская область»],
[«RU-NVS», «Новосибирская область»],
[«RU-OMS», «Омская область»],
[«RU-ORE», «Оренбургская область»],
[«RU-ORL», «Орловская область»],
[«RU-PNZ», «Пензенская область»],
[«RU-PSK», «Псковская область»],
[«RU-ROS», «Ростовская область»],
[«RU-RYA», «Рязанская область»],
[«RU-SAM», «Самарская область»],
[«RU-SAR», «Саратовская область»],
[«RU-SAK», «Сахалинская область»],
[«RU-SVE», «Свердловская область»],
[«RU-SMO», «Смоленская область»],
[«RU-TAM», «Тамбовская область»],
[«RU-TVE», «Тверская область»],
[«RU-TOM», «Томская область»],
[«RU-TUL», «Тульская область»],
[«RU-TYU», «Тюменская область»],
[«RU-ULY», «Ульяновская область»],
[«RU-CHE», «Челябинская область»],
[«RU-YAR», «Ярославская область»],
[«RU-MOW», «Москва»],
[«RU-SPE», «Санкт-Петербург»],
[«RU-YEV», «Еврейская АО»],
[«RU-NEN», «Ненецкий АО»],
[«RU-KHM», «Ханты-Мансийский АО»],
[«RU-CHU», «Чукотский АО»],
[«RU-YAN», «Ямало-Ненецкий АО»],
];
}
И достаточно простое его использование:
<html>
<body>
<form>
<select name=«regions»>
</select>
</form>
<script src=«regions.js»></script>
<script>
regions = getRegions();
for (i in regions) {
document.forms[0].elements['regions'].options.add(new Option(regions[i][1], regions[i][0]));
}
</script>
</body>
</html>
www.gnivc.ru/Document.aspx?id=80
Офф классификатор, там есть все от регионов до номеров домов.
База правда не самая удобная, но документация по ней неплохая, так что конвертить ее в нормальный вид не проблема.
Где-то натыкался на какой-то рест сервис, кстати, сделанный на основе этого классификатора.
Кроме того где-то видел виндовую прогу с этим классификатором, там она ставит мускул, соответсвенно можно в использовать ее, если с дбф проблемы.
Вообще, по-хорошему, уже давно должен быть оффициальный сервис для этого, как в западных странах.
Офф классификатор, там есть все от регионов до номеров домов.
База правда не самая удобная, но документация по ней неплохая, так что конвертить ее в нормальный вид не проблема.
Где-то натыкался на какой-то рест сервис, кстати, сделанный на основе этого классификатора.
Кроме того где-то видел виндовую прогу с этим классификатором, там она ставит мускул, соответсвенно можно в использовать ее, если с дбф проблемы.
Вообще, по-хорошему, уже давно должен быть оффициальный сервис для этого, как в западных странах.
ух ты, спасибо. Вычленить бы оттуда названия городов и посёлков (третий уровень) — но качать влом. Кстати, интересно, что база основана по старой схеме, т.е. ещё не после муниципальной реформы.
Не знаете, они эту базу часто обновляют?
Не знаете, они эту базу часто обновляют?
См. мой пост ниже — бери из 1С.
Несколько раз в год точно. На данный момент:
Дата актуальности — 30.07.2009
А можно подробнее про реформу?
Дата актуальности — 30.07.2009
А можно подробнее про реформу?
Смысл муниципальной реформы — довести существующий закон о местном самоуправлении до соответствия в Конституции, в которой говорится, что «МСУ отдельно от государственной власти», т.е. депутаты выборные, главые муниципалитетов — выборные, живут на свои деньги и т.д. Не буду вдаваться в детали а) задумки, б) планирования, в) реализации — т.к. на всех этапах было сделано криво.
Но, вернёмся к сути вопроса. В соответствии со старой моделью была чёткая постсоветская иерархическая структура:
федерация
регион | город фед.подчинения
район | город областного подчинения
сельсовет | город районного подчинения
Новая структура на верхних этажах осталась такой же, а вот нижние изменились. Получилось так:
федерация (я не беру фед.округа, т.к. это отдельная история)
регион | город фед.подчинения
городской округ | муниципальный район
городское поселение | сельское поселение
притом, что далеко не все города обл.подчинения смогли получить статус городского округа.
судя по обозначениям в таблице — используется старая система. С одной стороны — логично, т.к. муниципальная реформа закончилась официально только 1 января 2009-го года, но реальное воплощение ещё не близко, не говоря уже о классификации по новым принципам. С другой — в ближайшем будущем стоит ждать пусть и формального, но изменения классификации.
Но, вернёмся к сути вопроса. В соответствии со старой моделью была чёткая постсоветская иерархическая структура:
федерация
регион | город фед.подчинения
район | город областного подчинения
сельсовет | город районного подчинения
Новая структура на верхних этажах осталась такой же, а вот нижние изменились. Получилось так:
федерация (я не беру фед.округа, т.к. это отдельная история)
регион | город фед.подчинения
городской округ | муниципальный район
городское поселение | сельское поселение
притом, что далеко не все города обл.подчинения смогли получить статус городского округа.
судя по обозначениям в таблице — используется старая система. С одной стороны — логично, т.к. муниципальная реформа закончилась официально только 1 января 2009-го года, но реальное воплощение ещё не близко, не говоря уже о классификации по новым принципам. С другой — в ближайшем будущем стоит ждать пусть и формального, но изменения классификации.
Где Байконур? Это российский анклав, имеет код 99.
Я для регистрации пользователя на проекте, где сейчас работаю, импортил базу субъектов из 1С — там несколько уровней вложенности — республики/края, районы, главные населенные пункты, населенные пункты областей, улицы и т.п. В полном варианте — 8 или 9 уровней иерархии. Поскольку база большая, брал только края, районы и населенные пункты — получилось 180000 записей. Зато сейчас можно указывать город совершенно точно, без ошибки. :)
Для всех форм на сайте (регистрация, оформление заказа, редактирование личных данных) сделал 3 уровня выбора на аяксе — только так можно было эту массу как-то представить пользователю:
shop.amayama.ru/register
Пока делал, узнал много нового про топонимику родной страны и родного Владивостока в частности :)))
P.S. Надо бы накатать отдельный пост про это дело…
Я для регистрации пользователя на проекте, где сейчас работаю, импортил базу субъектов из 1С — там несколько уровней вложенности — республики/края, районы, главные населенные пункты, населенные пункты областей, улицы и т.п. В полном варианте — 8 или 9 уровней иерархии. Поскольку база большая, брал только края, районы и населенные пункты — получилось 180000 записей. Зато сейчас можно указывать город совершенно точно, без ошибки. :)
Для всех форм на сайте (регистрация, оформление заказа, редактирование личных данных) сделал 3 уровня выбора на аяксе — только так можно было эту массу как-то представить пользователю:
shop.amayama.ru/register
Пока делал, узнал много нового про топонимику родной страны и родного Владивостока в частности :)))
P.S. Надо бы накатать отдельный пост про это дело…
Если не ошибаюсь, в 1С она на основе того же КЛАДРа сделана.
Уровней должно быть 7 (последний — квартиры/офисы).
Уровней должно быть 7 (последний — квартиры/офисы).
Байконур — это не российский регион. Это арендуемая у Казахстана территория. В Конституции его нет.
Буду ждать пост по теме.
Буду ждать пост по теме.
посмотрел сейчас код ОКАТО распакованный — это же .sql в 47 мегов.
Ну и как говориться, повторенье мать ученья. Есть такой сайт classifiers, да верно классификаторы.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Полный html-код для вывода списка регионов России