Список городов

  • 10 Ответов
  • 2062 Просмотров

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

*

snoopy

  • Захожу иногда
  • **
  • 22
  • 0
Список городов
« : 13.03.2014, 19:32:15 »
Не могу найти список городов Украины для DJ-Classifieds.
Может кто поделится? Буду признательно благодарен!  ^-^

*

Bmw258

  • Осваиваюсь на форуме
  • ***
  • 76
  • 4
Re: Список городов
« Ответ #1 : 08.04.2014, 21:24:35 »
Есть все города России, Украины, Белоруссии и т.д. В общей сложности под 18000 тыс, но их нужно добавлять по 1шт. Но вот у меня возникла другая проблема, добавил 2800 городов норма, а вот на 2801 при добавление летит скрипт сортировки городов, когда хочешь добавить объявление, вот. У тебя нет такой проблемы? Если была, как решил её? И сколько городов уже добавил?

*

ddn821

  • Захожу иногда
  • **
  • 20
  • 0
Re: Список городов
« Ответ #2 : 04.05.2014, 18:38:53 »
Не могу найти список городов Украины для DJ-Classifieds.
Может кто поделится? Буду признательно благодарен!  ^-^
Ещё актуально? Могу поделиться. Есть: Белорусь, Украина, Молдова, Россия

*

snoopy

  • Захожу иногда
  • **
  • 22
  • 0
Re: Список городов
« Ответ #3 : 17.06.2014, 16:27:31 »
Ещё актуально? Могу поделиться. Есть: Белорусь, Украина, Молдова, Россия
Актуально! Если можно - то все страны, пожалуйста!  ::)

*

mkt

  • Осваиваюсь на форуме
  • ***
  • 76
  • 0
Re: Список городов
« Ответ #4 : 06.09.2014, 15:22:48 »
Ещё актуально? Могу поделиться. Есть: Белорусь, Украина, Молдова, Россия

Такое никогда не может быть не актуально, я бы тоже взял.

*

dortvin

  • Новичок
  • *
  • 1
  • 0
Re: Список городов
« Ответ #5 : 07.09.2014, 14:40:40 »
Цитировать
Ещё актуально? Могу поделиться. Есть: Белорусь, Украина, Молдова, Россия
Как можно приобрести ?

*

dpvms

  • Осваиваюсь на форуме
  • ***
  • 37
  • 1
Re: Список городов
« Ответ #6 : 30.09.2014, 21:45:47 »
И мне интересно, как можно договориться?

*

Kligan

  • Новичок
  • *
  • 7
  • 0
Re: Список городов
« Ответ #7 : 01.11.2014, 01:50:22 »
Здравствуйте, кому интересно, есть база 100 тысяч городов и населенных пунктов РФ с областями, республиками.
660627199 icq
Могу залить в DJ-Classifieds, будет все поделено на 3 уровня, соответственно во фронтэнде человеку предложит выбрать округ, область и в 3 ячейке населенный пункт. Сразу оговорюсь, что обязателен хороший хостинг или сервер, на дешманских хостинговых тарифах с этой базой скрипт падает при нажатии на кнопку добавления объявления. В админке все единицы будут опубликованы сразу и будут иметь  трехуровневую иерархию для более удобного поиска.

*

ExJTMaster

  • Новичок
  • *
  • 7
  • 2
Re: Список городов
« Ответ #8 : 18.08.2016, 21:15:55 »
Набросал небольшой скрипт, который импортирует города и регионы с сайта база-городов.рф
Оттуда нужны три файла: place_type_names.csv, places.csv, regions.csv.
Импортирует только города, тк если все импортировать, то потянет не каждый хостинг. Коменты в скрипте.
Скрипт перед работой ОЧИЩАЕТ таблицу регионов!

Код
<?php
setlocale (LC_ALL, 'nl_NL');

$options = array(
    'enable'        => true, // Скрипт работает только если значение TRUE
    /* Настройки подключения к БД */
    'db_server'     => 'localhost', // Сервер БД
    'db_user'       => 'user', // Имя пользователя
    'db_password'   => 'password', // Пароль
    'db_base'       => 'base', // Имя базы данных
'table_name' => 'xxxxx_djcf_regions' // Имя таблицы, укажите свой префикс
    );

if(!$options['enable']) die('Скрипт отключен, дальнейшая обработка данных невозможна!');


function mysql_insert($table, $inserts) {
    $values = array_map('mysql_real_escape_string', array_values($inserts));
    $keys = array_keys($inserts);
       
    return mysql_query('INSERT INTO `'.$table.'` (`'.implode('`,`', $keys).'`) VALUES (\''.implode('\',\'', $values).'\')');
}
 
$link = mysql_connect($options['db_server'], $options['db_user'], $options['db_password']);
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
 
// Указываем, что общаемся с БД только в UTF-8
 
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
mysql_query("SET SESSION collation_connection = 'utf8_general_ci'");
 
// Выбираем интересующую нас Базу
 
$db_selected = mysql_select_db($options['db_base'], $link);
if (!$db_selected) {
    die ('Не удалось выбрать базу db_data: ' . mysql_error());
}
 
// Очищаем таблицу с регионами
mysql_query('TRUNCATE TABLE `'.$options['table_name'].'`');


// Импортируем типы мест (Город, Край, Округ  и тд.)

$rows=array();
$fp = fopen ('place_type_names.csv',"r");
while ($data = fgetcsv($fp, 262144, ';', '"') ) $rows[]=$data;
fclose ($fp);

$name = array();
foreach($rows as $k=>$row){
if (!$k) continue; // Пропуск первой строки
$name[$row[0]]['name'] = $row[3];
$name[$row[0]]['after'] = $row[6];
}

// Добавляем Страну Россия
$data = array(
'id' => 1,
'name' => "Россия",
'parent_id' => 0,
'country' => 1,
'city' => 0,
'published' => 1,
'latitude' => '',
'longitude' => ''
);
mysql_insert($options['table_name'], $data);

// Импортируем регионы

$rows=array();
$fp = fopen ('regions.csv',"r");
while ($data = fgetcsv($fp, 262144, ';', '"') ) $rows[]=$data;
fclose ($fp);

foreach($rows as $k=>$row){
if (!$k) continue; // Пропуск первой строки

// Добавляем префикс или суффикс к названию региона из таблицы типов мест
$nameplace = $row[3]." ".$name[$row[6]]['name'];
if ($name[$row[6]]['after'] == 0) {
$nameplace = $name[$row[6]]['name']." ".$row[3];
}
$data = array(
'id' => $row[0],
'name' => $nameplace,
'parent_id' => 1,
'country' => 0,
'city' => 0,
'published' => 1,
'latitude' => '',
'longitude' => ''
);
mysql_insert($options['table_name'], $data);
}

// Импортируем места (города и тд.)

$fp = fopen ('places.csv',"r");

$k = 0;
while(!feof($fp)) {
$buf = fgets($fp);
$k++;
if ($k == 1) continue; // Пропуск первой строки
$row = explode(";", $buf);
if ($row[5] == '3') { // Импортируем только города (3 - города), можно убрать условие, тогда импортируется все, но не всякий хостинг выдержит )))

// Добавляем префикс или суффикс к названию места из таблицы типов мест
$nameplace = $row[3]." ".$name[$row[6]]['name'];
if ($name[$row[6]]['after'] == 0) {
$nameplace = $name[$row[6]]['name']." ".$row[3];
}

$data = array(
'id' => $row[0],
'name' => $nameplace,
'parent_id' => $row[8],
'country' => 0,
'city' => 1,
'published' => 1,
'latitude' => '',
'longitude' => ''
);
mysql_insert($options['table_name'], $data);

}
}
fclose ($fp);

 
mysql_close($link);
echo "FINISH";
?>



*

THE KILLERS

  • Живу я здесь
  • ******
  • 897
  • 28
Re: Список городов
« Ответ #9 : 23.11.2016, 02:31:07 »
Я так понял эти 3 файла нужно кидать в корень сайта,
ExJTMaster, а что со скриптом делать?

UPD Проблема решилась. Дело было в версии php. На 7ке не хочет, а вот на 5.6 все отлично импортировалось. ExJTMaster +
« Последнее редактирование: 23.11.2016, 05:27:58 от THE KILLERS »

*

CitiZen74

  • Новичок
  • *
  • 1
  • 0
Re: Список городов
« Ответ #10 : 20.04.2017, 15:24:09 »
Может кто-нибудь выложить базу городов с сайта база-городов.рф, т.к. он успешно не продлен. Заранее благодарен.