Добрый день!
Есть два файла.
Файл index2.php:
И файл api2.php:
Если применять скрипты именно в таком виде, то результатом работы будет вывод на экран данных одной случайной строки из базы данных. В БД poyas3 3 поля: id, title(название часового пояса), offset(смещение по времени).
Нужно, чтобы при выборе часового пояса из выпадающего списка и нажатии на него на экране появлялось смещение по времени выбранного часового пояса. Пробую, по-разному, не получается.
Как это сделать?
Есть два файла.
Файл index2.php:
Код |
---|
<?php define('DB_HOST', 'localhost');define('DB_USER', 'root');define('DB_PASSWORD', '');define('DB_NAME', 'mysite'); try { $pdo = new PDO('mysql:host='.DB_HOST.'; dbname='.DB_NAME,DB_USER,DB_PASSWORD, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);} catch (PDOException $e) { echo 'Ошибка при подключении к базе данных!';} $query = 'SELECT * FROM `poyas3`';$result = $pdo->query($query);$table = $result->fetchAll(PDO::FETCH_ASSOC);?> <!DOCTYPE html><html lang="ru"><head> <title>Ajax и JSON</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="js/jquery-3.5.1.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $("select").bind("click", function(event) { ajax({'func': 1}); }); }); function ajax(data) { $.ajax({ url: 'api2.php', type: "POST", data: data, dataType: "text", error: error, success: success }); } function error() { alert('Ошибка при загрузке данных!'); } function success(result) { var result = $.parseJSON(result); var str = ''; for (var i in result) str += '<b>' + i + '</b>: ' + result[i] + '<br />'; $('#result').empty(); $('#result').append(str); } </script></head><body> <div> <p><select name="list1"> <option>Выберите из списка</option> <?php foreach($table as $idx => $data) { echo '<option>'.$data['title'].'</option>'; } ?> </select></p> </div> <div id="result"></div></body></html> |
Код |
---|
<?php f (isset($_POST['func']) && $_POST['func'] == '1') { //$vibor = $_POST['list1']; define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PASSWORD', ''); define('DB_NAME', 'mysite'); try { $pdo = new PDO('mysql:host=' . DB_HOST . '; dbname=' . DB_NAME, DB_USER, DB_PASSWORD, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]); $query = "SELECT * FROM `poyas3` ORDER BY rand() LIMIT 1"; $result = $pdo->query($query); $row = $result->fetch(PDO::FETCH_ASSOC); echo json_encode($row); } catch (PDOException $e) { echo 'Ошибка: '.$e->getMessage(); }} ?> |
Нужно, чтобы при выборе часового пояса из выпадающего списка и нажатии на него на экране появлялось смещение по времени выбранного часового пояса. Пробую, по-разному, не получается.
Как это сделать?
Изменено:
Pavl - 28 Июля 2020 23:01