Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.9.168] |
|
Сообщ.
#1
,
|
|
|
Добрый день!
Есть два файла. Файл 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> И файл api2.php: <?php if (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(); } } ?> Если применять скрипты именно в таком виде, то результатом работы будет вывод на экран данных одной случайной строки из базы данных. В БД poyas3 3 поля: id, title(название часового пояса), offset(смещение по времени). Нужно, чтобы при выборе часового пояса из выпадающего списка и нажатии на него на экране появлялось смещение по времени выбранного часового пояса. Пробую, по-разному, не получается. Как это сделать? |