У меня есть таблица "users" со столбцами:
Id | user_id | name | ip_address | lat | lng
Столбец id, user_id, name и ip_address уже заполнены и теперь имеют 100 тыс. Пользователей.
Колонки lat (широта) и lng (долгота) теперь созданы, и мне нужно, чтобы они были заполнены с IP (вы не можете получить геолокацию пользователя).
Мне не нужно точное местоположение, просто приблизительное местоположение, поэтому мне нужен скрипт, который собирает IP-адрес каждого пользователя, каким-то образом извлекает широту и долготу и вставляет в базу данных.
Я смотрел на "http://www.geoplugin.net/xml.gp?ip=" и" http://ip -api.com / json /", но я не знаю, как использовать API для 100k пользователей, ни PHP, ни MySQL код или оболочка для этого.
Я использую только PHP, MySQLi с базой данных MySQL. Приложение отобразит список пользователей "поблизости" (в радиусе 100 миль).
Извините, я очень плохо знаком с программированием и действительно не знаю, как решить эту проблему.
Edit:
Я только что создал API, который возвращает мне все user_id и соответствующие им IP-адреса в массиве.
Просто быть 105 тысячами записей, потому что это был json, это было легко, но я не хотел делиться здесь публично, потому что это было бы то же самое, что объяснять данные моих пользователей.
результат API выглядит примерно так:
{
"api_status": 200,
"ips": [
{
"user_id": "1",
"ip_address": "177.198.86.7x"
},
{
"user_id": "21",
"ip_address": "177.18.246.9x"
},
{
"user_id": "52",
"ip_address": "177.36.60.1x"
}
]
}
Я использую следующую функцию, чтобы вернуть мои данные в php
function List_ip() {
global $sqlConnect, $db;
if ($db['loggedin'] == false) {
return false;
}
$ips = mysqli_query($sqlConnect, "SELECT `user_id` , `ip_address` FROM " . T_USERS . " WHERE `active` = '1'");
while ($fetched_data = mysqli_fetch_assoc($ips)) {
$list_ip[] = array_map('utf8_encode', $fetched_data);
}
return $list_ip;
}