Всем привет.
Столкнулся с проблемой. Один из сервисов, который шлёт мне запросы, перестал передавать мне одну из переменных – телефонный код страны. Ранее, до того как это случилось, я принимал данные от этого сервиса, вбивал их в базу и в дальнейшем выводил на страницу. Только вместо тел.кода, я выводил название страны, работало это через связку с другой таблицей, в содержание которой был этот же код и название страны. И теперь проблема заключается в том, как вывести название страны на страницу, если я уже не получаю переменную, где указан её тел.код, а получаю только номер телефона?
На данный момент, я получаю кучку разных переменных и в том числе – телефонный номер. Этот номер поступает мне в международном формате, без плюса, скобок и пробелов: 380503337777 У меня имеется пару мыслей, первая – через регулярки, основываясь на тел.номер, выводить название страны. Вторая мысля – при получении первоначальных переменных от сервиса, генерировать код страны на основе тел.номера и вбивать его в базу. Но вот как реализовать эти мысли, я не имею представления!
И если это через регулярки делать, то что, нужно будет написать 200 регулярок , чтоб для каждой страны?
Это мой php код для принятия запроса и внесения данных в базу:
PHP:
скопировать код в буфер обмена
<?PHP require_once('sql_class.php'); // класс для работы с базой данных if ($_GET) { $name = $GLOBALS['MySQL']->escape(strip_tags($_GET['name'])); $country_code = $GLOBALS['MySQL']->escape(strip_tags($_GET['country_code'])); // сервак уже это мне не шлёт, сволочь! $phone = $GLOBALS['MySQL']->escape(strip_tags($_GET['phone'])); $address = $GLOBALS['MySQL']->escape(strip_tags($_GET['address'])); // Добавляем записи в БД $GLOBALS['MySQL']->res("INSERT INTO `info_1` SET `name` = '{$name}', `country_code` = '{$country_code}', `phone` = '{$phone}', `address` = '{$address}', `when` = UNIX_TIMESTAMP()"); } ?>
А вот так я вытягивал записи и публиковал на странице:
PHP:
скопировать код в буфер обмена
<?PHP $sql=mysql_query("SELECT i.*, c.`country_name` FROM `info_1` i LEFT JOIN `spisok_stran` c ON c.`country_code`=i.`country_code` ORDER BY i.`id` DESC LIMIT 50"); $name = $row['name']; $country_name = $row['country_name']; $phone = $row['phone']; $address = empty($row['address']) ? 'Адрес не известен...' : $row['address']; ?> <div class="name"><?PHP echo $name; ?></div> <div class="country_name"><?PHP echo $country_name; ?></div> <div class="phone"><?PHP echo $phone; ?></div> <div class="address"><?PHP echo $address; ?></div> <?PHP }?>
В общем, подскажите, как вывести на страницу название страны, если имеется телефонный номер? Заранее благодарен.
|