Есть две таблицы b_stat_city_ip (поля таблицы START_IP, END_IP, COUNTRY_ID, CITY_ID), b_stat_city (поля ID, COUNTRY_ID, REGION, NAME). Необходимо получить ip адрес и узнать входит ли он в диапазон значений полей START_IP, END_IP, если да, то получить его COUNTRY_ID. Далее на основании COUNTRY_ID получить значения полей REGION, NAME. Я написал следующий код, который полностью рабочий. Вопрос в том можно ли эту запись полностью оптимизировать? Если да то, как? Если нет, то почему?
$ipAddr = ip2long('какой-то ip');
$strSql = "
SELECT
START_IP, END_IP,
COUNTRY_ID, CITY_ID
FROM
b_stat_city_ip
WHERE
START_IP <= $ipAddr
AND
END_IP >= $ipAddr
";
$data = $DB->Query($strSql, false, $err_mess.__LINE__);
while( $arrData = $data -> Fetch() ){
$cityID = $arrData["CITY_ID"];
}
$strSql2 = "
SELECT
ID, COUNTRY_ID,
REGION, NAME
FROM
b_stat_city
WHERE
ID = $cityID
";
$data = $DB->Query($strSql2, false, $err_mess.__LINE__);
while( $arrData = $data -> Fetch() ){
print_r($arrData);
}
Запрос переделал до такого, может кому-нибудь пригодится :)
SELECT
city_ip.CITY_ID, city_ip.END_IP, city_ip.COUNTRY_ID,
stat_city.ID, stat_city.COUNTRY_ID, stat_city.REGION, stat_city.NAME
FROM
b_stat_city_ip AS city_ip, b_stat_city AS stat_city
WHERE
city_ip.START_IP <= $ipAddr AND
city_ip.END_IP >= $ipAddr AND
stat_city.ID = city_ip.CITY_ID
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Когда нагрузка на сайт не большая загружается за 862 s когда нагрузка большая то загружается долго , как можно ускорить запрос?
Нужно сделать так, чтобы он сохранял таким образом название картинки например: a50a015295b0eb1211a7a87d7f6ca1_1-fulljpg а сейчас он сохраняет не понятно каким...
Всем добрый деньЕсть сервис который работает с файлом в json формате
file_get_contents в какой то из версий php имеет проблему с закрытием подключений