Проблема с отображением результатов вызова SQL AJAX из jQuery в HTML - PullRequest
0 голосов
/ 07 марта 2019

В настоящее время я пытаюсь отобразить данные, возвращенные из моей базы данных, на мою страницу отображения php.Я следовал этому уроку: https://www.phpzag.com/ajax-drop-down-selection-data-load-with-php-mysql/

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

populatePage.php <--- Это действует как мой "index.php" из учебника </p>

<?php
require_once('../../config/sessionHandler.php'); 
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="src/populatePage.js"></script>

    <title>Populate Page</title>
</head>
<body >
    <div class="page-header">
        <h3>
            <select id="employee">
                <option value="" selected="selected">Select Employee Name</option>
                    <?php
                    $sql = "SELECT id, employee_name, employee_salary, employee_age FROM employee LIMIT 10";
                    $resultset = mysqli_query($conn, $sql) or die("database error:". mysqli_error($conn));
                    while( $rows = mysqli_fetch_assoc($resultset) ) {
                    ?>
                <option value="<?php echo $rows["id"]; ?>"><?php echo $rows["employee_name"]; ?></option>
                    <?php } ?>
            </select>
        </h3>
    </div>
    <div id="display">
        <div id="heading" class="row">
            <h3>

            </h3>
        </div>
        <div id="records" class="row">
            <h3>

            </h3>
        </div>
    </div>
</body>
</html>

populatePage.js <--- Моя переименованная версияgetData.js из учебника </p>

$(document).ready(function(){
// code to get all records from table via select box
$("#employee").change(function() {
var id = $(this).find(":selected").val();
var dataString = 'empid='+ id;
$.ajax({
url: 'popJax.php',
dataType: "json",
data: dataString,
cache: false,
success: function(employeeData) {
if(employeeData) {
$("#heading").show();
$("#no_records").hide();
$("#emp_name").text(employeeData.employee_name);
$("#emp_age").text(employeeData.employee_age);
$("#emp_salary").text(employeeData.employee_salary);
$("#records").show();
} else {
$("#heading").hide();
$("#records").hide();
$("#no_records").show();
}
}
});
})
});

popJax.php <--- Это мой getEmployee.php из учебника </p>

<?php
require_once('../../config/sessionHandler.php');

$_SESSION['PopulateWorking'] = true;

if($_REQUEST['empid']) 
    {
        $sql = "SELECT id, employee_name, employee_salary, employee_age FROM    employee WHERE id='".$_REQUEST['empid']."'";
        $resultset = mysqli_query($conn, $sql) or die("database error:". mysqli_error($conn));
        $data = array();

        while( $rows = mysqli_fetch_assoc($resultset) ) 
            {
                $data = $rows;
            }
            echo json_encode($data);
    } 
else 
    {
        echo 0;
        $_SESSION['Fail'] = true;
    }

?>>

Мой sessionHandler используется для подключения к базе данных ипроверка сеанса.

Я последовал вместе с руководством.И до сих пор моя система будет:

-Получить пользователей из таблицы.

-Заполнить раскрывающийся список с ними.

-Позволить выбрать пользователя.

-Отображение $ _SESSION ['PopulateWorking'] как 'true'

И

-Проверка данных сотрудника во время просмотра в отладчике JS.

Но где-то в этом направлении я что-то упускаю.Я довольно часто работал с AJAX, PHP и SQL.Но я ни в коем случае не эксперт.Я ищу, где я пропускаю неотъемлемый шаг?Я просто хочу попытаться отобразить данные, как он делает в учебнике.Потому что тогда я могу точно настроить и изменить все вокруг так, чтобы все работало так, как мне бы хотелось.Но сейчас, когда я нажимаю на пользователя, на странице ничего не появляется, как в его уроке.Шахта работает вплоть до самой важной части.Отображение выбранных данных.

При сравнении рядом с его шахтой также не отображается: «Пожалуйста, выберите имя сотрудника для просмотра подробностей», где-нибудь на странице?Итак, я думаю, что мне не хватает целого DIV где-нибудь?Или не генерировать это?Или скрипт не вызывает его правильно?

Я просто не могу понять, где я неправильно использую данные JSON?

TL; DR: Почему моя страница не отображаетданные результатов на моей странице, как в этом уроке?

1 Ответ

0 голосов
/ 08 марта 2019

Прошу прощения за потерю времени.У меня не было ни одного элемента div, на который я пытался ссылаться в popJax.php

Мне нужно было добавить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...