我这个代码中,下拉菜单的数据是可以获取和提交的,没有问题,但是最后选择schedule下拉菜单的时候,无法获取到station、group、event、schedule四个数据的参数,无法进行最终的表单数据的调取,希望大家帮我检查一下!感谢!
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
require_once './connections/games.php';
session_start();
if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true && isset($_SESSION['username'])) {
$username = $_SESSION['username'];
$sql = "SELECT username,realname FROM judges WHERE username = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([$username]);
$username_row = $stmt->fetch(PDO::FETCH_ASSOC);
if ($username_row) {
$username = $username_row['username'];
$realname =$username_row['realname'];
$stationResults = array();
$stmt = $pdo->prepare("SELECT DISTINCT station,name FROM m_date WHERE `now` = ? AND judge_jl = ? ");
$stmt->execute(array('待开赛',$username));
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$stationResults[] = $row['station'];
$station = $row['station'];
$m_name = $row['name'];
}
} else {
echo "没有找到匹配的用户信息。";
}
} else {
header("Location: login.php");
exit;
}
// 根据station获取唯一的group值
if (isset($_POST['station'])) {
$station = $_POST['station'];
$groupResults = array();
$stmt = $pdo->prepare("SELECT DISTINCT `group` FROM m_order WHERE station = ?");
$stmt->execute(array($station));
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$groupResults[] = $row['group'];
}
echo json_encode($groupResults);
exit;
}
// 根据group获取唯一的event值
if (isset($_POST['group'])) {
$group = $_POST['group'];
$eventResults = array();
$stmt = $pdo->prepare("SELECT DISTINCT event FROM m_order WHERE `group` = ?");
$stmt->execute(array($group));
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$eventResults[] = $row['event'];
}
echo json_encode($eventResults);
exit;
}
// 根据event获取唯一的schedule值
if (isset($_POST['event'])) {
$event = $_POST['event'];
$eventResults = array();
$stmt = $pdo->prepare("SELECT DISTINCT schedule FROM m_order WHERE `event` = ?");
$stmt->execute(array($event));
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$scheduleResults[] = $row['schedule'];
}
echo json_encode($scheduleResults);
exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="../css/j_center.css">
<title>检录裁判 | 检录操作 | 执裁操作中心</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
// 初始化stationSelect
$('#stationSelect').append(
'<option value="">选择站次</option>');
<?php foreach ($stationResults as $station): ?>
$('#stationSelect').append(
'<option value="<?php echo htmlspecialchars($station); ?>"><?php echo htmlspecialchars($station); ?></option>');
<?php endforeach; ?>
// 当station下拉菜单改变时
$('#stationSelect').change(function() {
var station = $(this).val(); // 获取选中的station值
$.ajax({
url: 'jl-a.php', // PHP脚本的URL
type: 'POST',
data: { station: station }, // 发送的数据
dataType: 'json',
success: function(groupResults) {
// 假设#groupSelect是group下拉菜单的ID
$('#groupSelect').empty(); // 清空下拉菜单
$('#groupSelect').append('<option value="">选择组别</option>'); // 添加提示选项
$.each(groupResults, function(index, group) {
$('#groupSelect').append('<option value="' + group + '">' + group + '</option>');
});
// 触发group下拉菜单的change事件(如果需要初始化其他下拉菜单)
$('#groupSelect').trigger('change');
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error: " + textStatus + ' - ' + errorThrown);
}
});
});
// 当group下拉菜单改变时
$('#groupSelect').change(function() {
var group = $(this).val(); // 获取选中的group值
$.ajax({
url: 'jl-a.php', // PHP脚本的URL
type: 'POST',
data: { group: group }, // 发送的数据
dataType: 'json',
success: function(eventResults) {
// 假设#eventSelect是event下拉菜单的ID
$('#eventSelect').empty(); // 清空下拉菜单
$('#eventSelect').append('<option value="">选择项目</option>'); // 添加提示选项
$.each(eventResults, function(index, event) {
$('#eventSelect').append('<option value="' + event + '">' + event + '</option>');
});
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error: " + textStatus + ' - ' + errorThrown);
}
});
})
// 当event下拉菜单改变时
$('#eventSelect').change(function() {
var event = $(this).val(); // 获取选中的event值
$.ajax({
url: 'jl-a.php', // PHP脚本的URL
type: 'POST',
data: { event: event }, // 发送的数据
dataType: 'json',
success: function(scheduleResults) {
// 假设#scheduleSelect是schedule下拉菜单的ID
$('#scheduleSelect').empty(); // 清空下拉菜单
$('#scheduleSelect').append('<option value="">选择赛程</option>'); // 添加提示选项
$.each(scheduleResults, function(index, schedule) {
$('#scheduleSelect').append('<option value="' + schedule + '">' + schedule + '</option>');
});
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error: " + textStatus + ' - ' + errorThrown);
}
});
});
// 当schedule下拉菜单改变时
$('#scheduleSelect').change(function() {
var station = $('#stationSelect').val(); // 获取选中的station值
var group = $('#groupSelect').val(); // 获取选中的group值
var event = $('#eventSelect').val(); // 获取选中的event值
var schedule = $('#scheduleSelect').val(); // 获取选中的schedule值
$.ajax({
url: 'jl-a.php', // PHP脚本的URL(确保这个URL可以处理group参数)
type: 'POST',
data: {
station: $('#stationSelect').val(),
group: $('#groupSelect').val(),
event: $('#eventSelect').val(),
schedule: $('#scheduleSelect').val()
}, // 发送的数据
dataType: 'json',
success: function(response) {
// 处理PHP脚本返回的响应数据
console.log(response);
// 根据返回的数据更新页面上的内容或其他操作
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error: " + textStatus + ' - ' + errorThrown);
}
});
});
});
</script>
</head>
<body>
<div class="sl">
<select id="stationSelect"></select>
<select id="groupSelect"></select>
<select id="eventSelect"></select>
<select id="scheduleSelect"></select>
</form>
</div>
<?php
$stations = $_POST['station'] ?? null;
$groups = $_POST['group'] ?? null;
$events = $_POST['event'] ?? null;
$schedules = $_POST['schedule'] ?? null;
if (empty($schedule)) { echo "null";}
$query = "SELECT * FROM m_order WHERE station = ? AND `group` = ? AND `event` = ? AND `schedule` = ?";
$stmt = $pdo->prepare($query);
$stmt->execute([$stations, $groups, $events, $schedules]);
$order = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<div style="border-radius: 20px; background-color:#F8F8F8;">
<table style="font-family: inherit;color:#555">
<thead>
<tr align="center" style="font-weight:bold;font-size:12px;">
<th>顺序<br>Order</th>
<th>编号<br>Bib</th>
<th>姓名<br>Name</th>
<th>代表队<br>Delegation</th>
<th>备注<br>Remark</th>
</tr>
</thead>
<tbody>
<?php
foreach ($order as $row):
?>
<form method="post" action="jl-a.php" style="margin-bottom: 10px;">
<tr align="center" style="font-weight:bold;font-size:10px;">
<td><?php echo htmlspecialchars($row['order']);?></td>
<td><?php echo htmlspecialchars($row['bib']); ?></td>
<td><?php echo htmlspecialchars($row['name']); ?></td>
<td><?php echo htmlspecialchars($row['Delegation']); ?></td>
<td><?php echo htmlspecialchars($row['remark']); ?></td>
</tr>
</form>
<?php
endforeach;
?>
</tbody>
</table>
</div>
</body>
</html>