CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?php
- $db = mysqli_connect("localhost", "root", "", "world") or die("Нет соединения с БД");
- mysqli_set_charset($db, "utf8") or die("Не установлена кодировка соединения");
- function getCountries(){
- global $db;
- $query = "SELECT Code, Name FROM country";
- $res = mysqli_query($db, $query);
- return mysqli_fetch_all($res, MYSQLI_ASSOC);
- }
- function getCities(){
- global $db;
- $code = mysqli_real_escape_string($db, $_POST['code']);
- $query = "SELECT ID, Name FROM city WHERE CountryCode = '$code'";
- $res = mysqli_query($db, $query);
- $data = '';
- while($row = mysqli_fetch_assoc($res)){
- $data .= "<option value='{$row['ID']}'>{$row['Name']}</option>";
- }
- return $data;
- }
- if(!empty($_POST['code'])){
- echo getCities();
- exit;
- }
- function getLang(){
- global $db;
- $code = mysqli_real_escape_string($db, $_POST['code']);
- $query = "SELECT Language FROM countrylanguage WHERE CountryCode = '$code'";
- $res = mysqli_query($db, $query);
- return mysqli_fetch_all($res, MYSQLI_ASSOC);
- }
- $countries = getCountries();
- ?>
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Зависимые списки</title>
- <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
- <link rel="stylesheet" href="style.css">
- <!--[if lt IE 9]>
- <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
- <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
- <![endif]-->
- </head>
- <body>
- <div class="container content">
- <form class="form-horizontal" method="post" id="form">
- <div class="form-group">
- <label for="name" class="col-sm-2 control-label">Страна</label>
- <div class="col-sm-6">
- <select class="form-control" name="country" id="country">
- <option disabled selected>Выберите страну</option>
- <?php foreach($countries as $country): ?>
- <option value="<?=$country['Code']?>"><?=$country['Name']?></option>
- <?php endforeach; ?>
- </select>
- </div>
- </div>
- <div class="form-group city-select">
- <label for="name" class="col-sm-2 control-label">Город</label>
- <div class="col-sm-6">
- <select class="form-control" name="city" id="city">
- </select>
- </div>
- </div>
- <div class="form-group lang-select">
- <label for="name" class="col-sm-2 control-label">Язык</label>
- <div class="col-sm-6">
- <select class="form-control" name="lang" id="lang">
- </select>
- </div>
- </div>
- <div class="form-group">
- <div class="col-sm-offset-2 col-sm-6">
- <button type="submit" id="submit" class="btn btn-primary">Отправить</button>
- <div></div>
- </div>
- </div>
- </form>
- </div>
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
- <script src="bootstrap/js/bootstrap.min.js"></script>
- <script>
- $(function(){
- $('#country').change(function(){
- var code = $(this).val();
- $('#city').load('index.php', {code: code}, function(){
- $('.city-select').fadeIn('slow');
- });
- });
- });
- $(function(){
- $('#city').change(function(){
- var code = $(this).val();
- $('#lang').load('index.php', {code: code}, function(){
- $('.lang-select').fadeIn('slow');
- });
- });
- });
- </script>
- </body>
- </html>