Не могу соединиться с сервером базы данных
";
exit();
}
// выбираем базу данных
if(!mysql_select_db($db_name, $link))
{
echo "
Не могу выбрать базу данных
";
exit();
}
mysql_query('SET NAMES utf8');
// Выборка данных из таблицы
$addresses = mysql_query('SELECT * FROM markers') or die('Ошибка при выполнении запроса к таблице markers": '.mysql_error());
// Общее количество адресов и количество адресов, в обработке которых произошла ошибка
$countGeocode = $countGeocodeFault = 0;
// Обработка адресов
$result = '
';
while ($row = mysql_fetch_assoc($addresses)) {
$countGeocode++;
// Обращение к http-геокодеру
$xml = simplexml_load_file('http://maps.google.com/maps/api/geocode/xml?address='.$row["address"].'&sensor=false');
// Если геокодировать удалось, то записываем в БД
$status = $xml->status;
echo $xml;
if ($status == 'OK') {
$lat = $xml->result->geometry->location->lat;
$lng = $xml->result->geometry->location->lng;
$result .= ''.$row['address'].' | '.$lat.', '.$lng.' |
';
mysql_query("UPDATE markers SET lat = '$lat', lng = '$lng' WHERE id = '$row[id]'") or die("Ошибка при обновлении данных в таблице: ".mysql_error());
} else {
$result .= ''.$row['address'].' | ошибка |
';
$countGeocodeFault++;
}
};
$result .= '
';
// Вывод результата
echo $result;
// Закрытие соеденинения с сервером
mysql_close($dp);
// Вывод общего количество прогеокодированных результатов
if ($countGeocode) {
echo 'Всего обработано адресов: '.$countGeocode.'
';
if ($countGeocodeFault) {
echo 'Не удалось прогеокодировать: '.$countGeocodeFault.'
';
}
} else {
echo 'Таблица с адресами пуста.
';
}
?>