В настоящее время я пытаюсь отобразить данные, возвращенные из моей базы данных, на мою страницу отображения 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: Почему моя страница не отображаетданные результатов на моей странице, как в этом уроке?