Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Выбор страна → регион → город
Имеются три селекта: страна → регион → город. При выборе страны подгружается список регионов, при выборе региона подгружается список городов, а при выборе города нужно делать переход на страницу index.php?country=RU®ion=2&city=3 то есть те значения, что были выбраны в трёх селектах, по ним нужно сделать переход на страницу.
Аналогичный скрипт Выбора страна, регион, город с использования технологии Ajax.
<?
// указываем параметры для подключения к MySQL
// подключаемся к БД MySQL
$link = mysqli_connect(HostName, UserName, Password, DBName);
define("db_prefix","pb_");
function is_sel($a, $field)
{
$b = isset($_POST[$field])?$_POST[$field]:NULL;
if($a == $b) return 'selected="selected"';
}
$res = mysqli_query($link, 'SELECT * FROM '.db_prefix.'country');
?>
<form id="frm" method="post">
<select name="country" onchange="document.getElementById('frm').submit()" >
<option value='null'>- Выберите страну -</option>
<?
// выводим все строки из столбца name таблицы country
while($row = mysqli_fetch_assoc($res))
echo "<option ".is_sel($row['id'],'country')." value='" . $row['id'] . "'>" . $row['name'] . "</option>\r\n";
echo "</select>";
if(isset($_POST['country']))
{
$res=mysqli_query($link, 'SELECT * FROM '.db_prefix.'area WHERE country="'.mysql_real_escape_string($_POST['country']).'"');
if(mysqli_num_rows($res)){
echo "<select name=\"region\" onchange=\" document.getElementById('frm').submit();\" >
<option id=\"region\" value='0'>- Выберите pегион -</option>";
while($row = mysqli_fetch_assoc($res))
echo "<option ".is_sel($row['id'],'region')." value='" . $row['id'] . "'>" . $row['name'] . "</option>\r\n";
echo "</select>";
}else{ // выбираю города без учета региона
$res=mysqli_query($link, 'SELECT * FROM '.db_prefix.'city WHERE country='.mysql_real_escape_string($_POST['country']));
echo "<select id=\"city\" name=\"city\" onchange=\"document.getElementById('frm').submit()\" >
<option value='0'>- Выберите город -</option>";
while($row = mysqli_fetch_assoc($res))
echo "<option ".is_sel($row['id'],'city')." value='" . $row['id'] . "'>" . $row['name'] . "</option>\r\n";
echo "</select>";
}
}
$region = isset($_POST['region'])?$_POST['region']:NULL;
if($region && $region !== 0)
{
$res=mysqli_query($link, 'SELECT * FROM '.db_prefix.'city WHERE area='.(int)$_POST['region']);
echo "<select id=\"city\" name=\"city\" onchange=\"document.getElementById('frm').submit()\" >
<option value='0'>- Выберите город -</option>";
while($row = mysqli_fetch_array($res))
echo "<option ".is_sel($row['id'],'city')." value='" . $row['id'] . "'>" . $row['name'] . "</option>\r\n";
echo "</select>";
}
?>
</form>
<?
$city = isset($_POST['city'])?$_POST['city']:NULL;
if($city && $city !== 0)
{
$res=mysqli_query($link, 'SELECT * FROM '.db_prefix.'city WHERE id='.(int)$_POST['city'].' LIMIT 1');
$row = mysqli_fetch_array($res);
echo "<h2>Хочу в ".$row['name']."!</h2>";
}
?>
Скрипт выбора страна, регион, город на чистом javascript с использованием нашего API.
Другие скрипты работы с городами, странами, координатами
.
Прокомментировать/Отблагодарить