The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"PHP + Ajax, JSON, HTML и SQL! Помогите создать правильный запро"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (web-разработка, CGI)
Изначальное сообщение [ Отслеживать ]

"PHP + Ajax, JSON, HTML и SQL! Помогите создать правильный запро"  +/
Сообщение от Pavl (ok), 30-Июл-20, 14:13 
Добрый день!
Есть два файла.
Файл 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(смещение по времени).
Нужно, чтобы при выборе часового пояса из выпадающего списка и нажатии на него на экране появлялось смещение по времени выбранного часового пояса. Пробую, по-разному, не получается.
Как это сделать?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от ss (??), 30-Июл-20, 16:47   +/
SELECT offset FROM `poyas3` where title = '$vibor'

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2

2. Сообщение от Pavl (ok), 30-Июл-20, 23:12   +/
> SELECT offset FROM `poyas3` where title = '$vibor'

Спасибо за помощь, но я так тоже пробовал. При таком варианте на экране выпадающий список и всё, больше ничего. Может, быть ещё вариант посоветуете?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру