AAA Главная
Примеры PHP Примеры JavaScript Примеры Ajax Примеры CSS,HTML

Выбор >регион>город

Имеются три селекта: страна>регион>город при выборе страны подгружается список регионов, при выборе региона подгружается список городов, а при выборе города нужно делать переход на страницу index.php?country=RU&region=2&city=3 тоесть те значения что были выбраны в трёх селектах, по ним нужно сделать переход на страницу.


Аналогичный скрипт Выбора страна, регион, город с использования технологии Ajax.



<?
// указываем параметры для подключения к MySQL
$host='localhost'; // имя хоста
$database='baza'; // имя базы данных
$user='admin'; // заданное вами имя пользователя
$pswd='pasw'; // заданный вами пароль
// подключаемся к MySQL
$dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");
mysql_select_db($database) or die("Не могу подключиться к базе.");

define("db_prefix","pb_");

function is_sel($a, $field)
{
  $b = isset($_POST[$field])?$_POST[$field]:NULL;
  if($a == $b) return 'selected="selected"';
}

$res = mysql_query('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 = mysql_fetch_array($res))
      echo "<option ".is_sel($row['id'],'country')." value='" . $row['id'] . "'>" . $row['name'] . "</option>\r\n";
echo "</select>";

if(isset($_POST['country']))
{
  $res=mysql_query('SELECT * FROM '.db_prefix.'area WHERE country="'.mysql_real_escape_string($_POST['country']).'"');

  if(mysql_num_rows($res)){

  echo "<select name=\"region\" onchange=\" document.getElementById('frm').submit();\" >
	<option  id=\"region\" value='0'>- Выберите pегион -</option>";

    while($row = mysql_fetch_array($res))
      echo "<option ".is_sel($row['id'],'region')." value='" . $row['id'] . "'>" . $row['name'] . "</option>\r\n";

  echo "</select>";

  }else{ // выбираю города без учета региона

  $res=mysql_query('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 = mysql_fetch_array($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=mysql_query('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 = mysql_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=mysql_query('SELECT * FROM '.db_prefix.'city WHERE id='.(int)$_POST['city'].' LIMIT 1');
  $row = mysql_fetch_array($res);
  echo "<h1>Хочу в ".$row['name']."!</h1>";
}
?>

Другие скрипты работы с городами, странами, координатами



.

© Copyright 2008-2016 by KDG