Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PHP + Ajax, JSON, HTML и SQL! Вывод данных из БД! Запрос к БД при помощи Ajax и JSON! 
:(
    Опции темы
Pavl
Дата 29.7.2020, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 28.9.2016

Репутация: нет
Всего: нет



Добрый день!
Есть два файла.
Файл 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(смещение по времени).
Нужно, чтобы при выборе часового пояса из выпадающего списка и нажатии на него на экране появлялось смещение по времени выбранного часового пояса. Пробую, по-разному, не получается.
Как это сделать?

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1114 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.