كيف يمكن إنشاء نظام متكامل لتسجيل وتصنيف الطلبة باستخدام PHP؟
السؤال:
رقم السؤال: 576
الإجابة:
مرحبا بك في موسوعة معلومات سأقدم لك كودًا برمجيًا بسيطًا باستخدام PHP وMySQL لإنشاء نظام لتسجيل الطلبة مع تصنيفهم. النظام يشمل:
- صفحة إدخال معلومات الطالب.
- حفظ المعلومات في قاعدة البيانات.
- عرض قائمة الطلبة مع التصنيف.
1. إعداد قاعدة البيانات:
CREATE DATABASE student_management;
USE student_management;
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100),
classification VARCHAR(50) NOT NULL
);
2. صفحة إدخال معلومات الطالب (add_student.php):
<?php
// إعداد اتصال قاعدة البيانات
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "student_management";$conn = new mysqli($servername, $username, $password, $dbname);
// التحقق من الاتصال
if ($conn->connect_error) {
die("فشل الاتصال: " . $conn->connect_error);
}// إضافة الطالب إلى قاعدة البيانات
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];
$classification = $_POST['classification'];$sql = "INSERT INTO students (first_name, last_name, email, classification)
VALUES ('$first_name', '$last_name', '$email', '$classification')";if ($conn->query($sql) === TRUE) {
echo "تم إضافة الطالب بنجاح!";
} else {
echo "خطأ: " . $sql . "<br>" . $conn->error;
}
}
$conn->close();
?><!DOCTYPE html>
<html lang="ar">
<head>
<meta charset="UTF-8">
<title>إضافة طالب</title>
</head>
<body>
<h1>نموذج تسجيل طالب جديد</h1>
<form method="POST" action="add_student.php">
<label for="first_name">الاسم:</label><br>
<input type="text" name="first_name" required><br>
<label for="last_name">اللقب:</label><br>
<input type="text" name="last_name" required><br><label for="email">البريد الإلكتروني:</label><br>
<input type="email" name="email"><br><label for="classification">تصنيف الطالب:</label><br>
<select name="classification" required>
<option value="ممتاز">ممتاز</option>
<option value="جيد جدًا">جيد جدًا</option>
<option value="جيد">جيد</option>
<option value="متوسط">متوسط</option>
</select><br><br><input type="submit" value="إضافة الطالب">
</form>
</body>
</html>
3. صفحة عرض قائمة الطلبة (list_students.php):
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "student_management";$conn = new mysqli($servername, $username, $password, $dbname);
// التحقق من الاتصال
if ($conn->connect_error) {
die("فشل الاتصال: " . $conn->connect_error);
}// استرجاع معلومات الطلبة
$sql = "SELECT * FROM students";
$result = $conn->query($sql);
?><!DOCTYPE html>
<html lang="ar">
<head>
<meta charset="UTF-8">
<title>قائمة الطلبة</title>
</head>
<body>
<h1>قائمة الطلبة المسجلين</h1>
<table border="1">
<tr>
<th>الاسم</th>
<th>اللقب</th>
<th>البريد الإلكتروني</th>
<th>التصنيف</th>
</tr><?php
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<tr>
<td>" . $row["first_name"] . "</td>
<td>" . $row["last_name"] . "</td>
<td>" . $row["email"] . "</td>
<td>" . $row["classification"] . "</td>
</tr>";
}
} else {
echo "<tr><td colspan='4'>لا يوجد طلبة مسجلين.</td></tr>";
}
$conn->close();
?>
</table>
</body>
</html>
شرح الكود
- قاعدة البيانات: تحتوي على جدول students لتخزين معلومات الطلبة مثل الاسم، اللقب، البريد الإلكتروني، والتصنيف.
- صفحة الإدخال: يتم إدخال البيانات عبر نموذج HTML بسيط، وإرسالها إلى قاعدة البيانات باستخدام استعلام INSERT.
- صفحة العرض: تعرض الطلبة المسجلين مع التصنيف الخاص بكل طالب.
يمكنك تطوير هذا النظام أكثر بإضافة ميزات مثل التعديل، الحذف، أو البحث عن الطلبة.