<?php
function getStudents() {
return [
['name'=> 'Joe Dean','grade'=> '100'],
['name'=> 'Sam Deer','grade'=> '80'],
['name'=> 'Alex Find','grade'=> '70'],
['name'=> 'Jess Gram','grade'=> '60'],
];
}
function adjustGrade($orginGrade) {
return $orginGrade * 1.1;
}
function ToLetter ($Grade) {
if ($Grade >= 90) {
return "A";
}elseif ($Grade >= 80) {
return "B";
}elseif ($Grade >= 70) {
return "C";
}elseif ($Grade >= 60) {
return "D";
}else {
return "F";
}
}
function handleForm(&$students) {
$name = $_POST['StudentName'];
$grade = $_POST['Grade'];
//update
$searchStudent = array_search($name,array_column($students,'name'));
if ($searchStudent !== false) {
$students[$searchStudent]['grade'] = $grade;
} else {
//Add student
$students[] =['name'=>$name,''=>$grade];
}
}
function showStudentTable($students) {
echo '<h3>Student Information</h3>';
echo '<table border="1">';
echo '<tr><th>Name</th><th>Original Grade</th><th>Letter Grade</th><th>Adjusted Grade</th><th>Adjusted Letter Grade</th></tr>';
$totalGrades = 0;
foreach ($students as $student) {
$originalGrade = $student['grade'];
$adjustedGrade = adjustGrade($originalGrade);
echo '<tr>';
echo '<td>' . $student['name'] . '</td>';
echo '<td>' . $originalGrade . '</td>';
echo '<td>' . ToLetter($originalGrade) . '</td>';
echo '<td>' . $adjustedGrade . '</td>';
echo '<td>' . ToLetter($adjustedGrade) . '</td>';
echo '</tr>';
$totalGrades += $originalGrade;
}
echo '</table>';
$totalStudents = count($students);
$averageGrade = $totalGrades / $totalStudents;
echo '<p>Total Students: ' . $totalStudents . '</p>';
echo '<p>Total Original Grades: ' . $totalGrades . '</p>';
echo '<p>Average Original Grade: ' . $averageGrade . '</p>';
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>GradeBook</title>
</head>
<style>
body {background-color: #CCCCCC; font-size: 25px;}
table{color:black; font-size: 25px;}
</style>
<body>
<h1>GradeBook</h1>
<?php
require_once('GradeBook.php');
//Get Students
$students=getStudents();
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
handleForm($students);
}
//shwow students
showStudentTable($students);
?>
<h2>Add Student</h2>
<form method="post" action="index.php">
<label for="StudentName">Student Name</label>
<input type="Text" name="StudentName" required>
<label for="Grade"> Student Grade:</label>
<input type="number" name="Grade"required min="0" max="100">
<button type="submit">Add Student</button>
</form>
</body>
</html>