查询结果
考试名称
|
考试日期
|
分数
|
排名
|
javascript
// script.jsconst resultsDiv = document.getElementById('results');
const resultsTable = document.getElementById('resultsTable');
const tbody = resultsTable.getElementsByTagName('tbody')[0];// 获取表单元素
const usernameInput = document.getElementById('username');
const passwordInput = document.getElementById('password');
const submitButton = document.querySelector('form input[type="submit"]');// 添加事件监听器以处理表单提交
submitButton.addEventListener('click', (e) => {e.preventDefault();// 获取表单数据const username = usernameInput.value;const password = passwordInput.value;// 验证表单数据if (!username || !password) {alert('请输入用户名和密码。');return;}// 展示加载状态resultsDiv.classList.add('loading');// 发送查询请求fetch('query-results.php', {method: 'POST',body: JSON.stringify({username,password
}),headers: {'Content-Type': 'application/json'}}).then(response => {if (!response.ok) {throw new Error('请求失败。');}return response.json();}).then(data => {// 隐藏加载状态resultsDiv.classList.remove('loading');// 显示查询结果if (data.length === 0) {tbody.innerHTML = '无查询结果。';} else {data.forEach(result => {const row = document.createElement('tr');const nameCell = document.createElement('td');nameCell.textContent = result.exam_name;const dateCell = document.createElement('td');dateCell.textContent = result.exam_date;const scoreCell = document.createElement('td');scoreCell.textContent = result.score;const rankCell = document.createElement('td');rankCell.textContent = result.rank;row.appendChild(nameCell);row.appendChild(dateCell);row.appendChild(scoreCell);row.appendChild(rankCell);tbody.appendChild(row);});}}).catch(error => {// 隐藏加载状态resultsDiv.classList.remove('loading');// 显示错误消息alert('查询失败。' + error);});
});
php
// query-results.php
'缺少参数。'));exit;
}// 连接数据库
$dsn = 'mysql:host=localhost;dbname=results;charset=utf8';
$user = 'root';
$password = '';
try {$conn = new PDO($dsn, $user, $password);
} catch (PDOException $e) {echo json_encode(array('error' => '数据库连接失败。' . $e->getMessage()));exit;
}// 查询结果
$stmt = $conn->prepare('SELECT FROM results WHERE username = :username AND password = :password');
$stmt->bindParam(':username', $data['username']);
$stmt->bindParam(':password', $data['password']);
$stmt->execute();// 获取查询结果
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);echo json_encode($results);
?>