Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (20)

Лучшие ответы пользователя

Все ответы (19)
  • Как сделать запись в базу данных и вывод из нее без перезагрузки страницы?

    Sadyrbaev
    @Sadyrbaev Автор вопроса
    Проблема решена. Не помню точно что именно помогло, но как минимум, у меня в обработчике было 2 переменные $fio с разными значениями, еще я убрал из обработчика все условия if, с ними скрипт не срабатывает почему то, еще я переписал массив переменной $result.

    Вот рабочие коды:

    Страница с формой - index.php
    <!DOCTYPE html>
    <html lang="ru">
    <head>
    <meta charset="UTF-8">
    <title>Сотрудники</title>
    <link rel="stylesheet" href="css/style.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="js/script.js" ></script>
    </head>
    <body>
    
    <section class="main">
    
    <h2>Редактирование</h2>
    
    <form id="ajax_form" action="" method="post">
    
    <table class="table2">
    
    <tr>
    <td><input type="text"/ name="name" placeholder="ФИО"></td>
    <td><input type="text"/ name="position" placeholder="Должность"></td>
    <td><input type="text"/ name="bdate" placeholder="Дата рождения"></td>
    <td><input type="text"/ name="mnumber" placeholder="Мобильный номер"></td>
    <td><input type="text"/ name="email" placeholder="E-mail"></td>
    </tr>
    
    </table>
    
    <input type="submit" class="btn" name="add" value="Добавить"/>
    <input type="submit" class="btn" name="update" value="Обновить"/>
    
    </form>
    
    <h2>Сотрудники</h2>
    
    <div id="result_form"></div>
    
    </section>
    
    </body>
    </html>


    Скрипт ajax запроса и json возврата - script.js
    $( document ).ready(function() {
        $(".btn").click(
            function(){
                sendAjaxForm('result_form', 'ajax_form', 'php/sotrudniki.php');
                return false; 
            }
        );
    });
     
    function sendAjaxForm(result_form, ajax_form, url) {
        jQuery.ajax({
            url:     url, //url страницы (php/sotrudniki.php)
            type:     "POST", //метод отправки
            dataType: "html", //формат данных
            data: jQuery("#"+ajax_form).serialize(),  // Сериализуем объект
            success: function(response) { //Данные отправлены успешно
                result = jQuery.parseJSON(response);
                document.getElementById(result_form).innerHTML = "Имя: " +result.name+" Должность: "+result.position+" Дата рождения: "+result.bdate+" Мобильный номер: "+result.mnomber+" E-mail: "+result.email;
                console.log(response);
            },
            error: function(response) { // Данные не отправлены
                document.getElementById(result_form).innerHTML = "Ошибка. Данные не отправлены.";
            }
        });
    }


    Обработчик - sotrudniki.php
    <?php
    include ('connect.php');
    include ('insert.php');
    include ('select.php');
    
    ?>


    Подключение к БД - connect.php
    <?php
    $servername = "localhost";
    $database = "Arman";
    $username = "root";
    $password = "";
    
    
    $conn = mysqli_connect($servername, $username, $password, $database);
    ?>


    Добавление записи в БД - insert.php
    <?php
    
    $name = $_POST['name'];
    $position = $_POST['position'];
    $bdate = $_POST['bdate'];
    $mnumber = $_POST['mnumber'];
    $email = $_POST['email'];
    
    $add = "
    
    INSERT INTO 
    `Сотрудники`
    SET 
    `ФИО` = '$name', 
    `Должность` = '$position', 
    `Дата рождения` = '$bdate', 
    `Мобильный номер` = '$mnumber', 
    `E-mail` = '$email'
    
    ";
    
    mysqli_query($conn, $add);
    
    ?>


    Извлечение записи из БД - select.php
    <?php
    $sotr = "
    
    SELECT 
    `ФИО`,
    `Должность`, 
    `Дата рождения`, 
    `Мобильный номер`, 
    `E-mail` 
    FROM 
    `Сотрудники`
    /*WHERE 
    `ID` = '2'*/
    
    ";
    
    $res = mysqli_query($conn, $sotr);
    
    $row = mysqli_fetch_row($res);
    
    
    $result = array
    ('name' => $row[0], 
     'position' => $row[1], 
     'bdate' => $row[2], 
     'mnomber' => $row[3], 
     'email' => $row[4], 
     );
    
    echo json_encode($result);
    
    mysqli_free_result($res);
    mysqli_close($conn);
    
    ?>
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (68)