PHP দিয়ে স্টুডেন্ট ইনফরমেশন ম্যানেজমেন্ট সিস্টেম

 

স্টুডেন্ট ইনফরমেশন ম্যানেজমেন্ট সিস্টেম

ব্যাখ্যা: এই প্রজেক্টে আমরা একটি HTML ফর্ম তৈরি করব যেটা PHP দিয়ে ডেটাবেজে ইনফর্মেশন সংরক্ষণ করবে। তারপর সেই ডেটা আমরা ব্রাউজারে দেখাব টেবিল আকারে।

Step 1: ডেটাবেজ কানেকশন


<?php
$conn = new mysqli("localhost", "root", "", "student_db");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>

Step 2: ডেটাবেজ টেবিল তৈরি


CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100),
mobile VARCHAR(20)
);

Step 3: HTML ফর্ম (কোড ব্লকে)

ব্যবহারকারী নাম, ইমেইল ও মোবাইল ইনপুট দিবে। ফর্ম ভ্যালিডেশন PHP দিয়েই করা হবে।


<form method="post" action="">
নাম: <input type="text" name="name" required><br>
ইমেইল: <input type="email" name="email" required><br>
মোবাইল: <input type="text" name="mobile" required pattern="[0-9]{11}"><br>
<input type="submit" name="submit" value="Save">
</form>

Step 4: ইনসার্ট ভ্যালিড ডেটা


<?php
if (isset($_POST['submit'])) {
$name = trim($_POST['name']);
$email = trim($_POST['email']);
$mobile = trim($_POST['mobile']);
if ($name != “” && filter_var($email, FILTER_VALIDATE_EMAIL) && preg_match(“/^[0-9]{11}$/”, $mobile)) {
$sql = “INSERT INTO students (name, email, mobile) VALUES (‘$name’, ‘$email’, ‘$mobile’)”;
echo $conn->query($sql) ? “তথ্য সফলভাবে সংরক্ষণ হয়েছে।” : “ত্রুটি: ” . $conn->error;
} else {
echo “সঠিকভাবে সকল তথ্য পূরণ করুন।”;
}
}
?>

Step 5: সার্চ ও পেজিনেশন


<form method="get">
অনুসন্ধান করুন: <input type="text" name="search">
<input type="submit" value="Search">
</form>
<?php
$limit = 5;
$page = isset($_GET[‘page’]) ? $_GET[‘page’] : 1;
offset = ($page – 1) * $limit;

$search = isset($_GET[‘search’]) ? $_GET[‘search’] : ”;
$where = $search ? “WHERE name LIKE ‘%$search%’ OR email LIKE ‘%$search%'” : “”;

$sql = “SELECT * FROM students $where LIMIT $offset, $limit”;
$result = $conn->query($sql);

$totalResult = $conn->query(“SELECT COUNT(*) as total FROM students $where”)->fetch_assoc()[‘total’];
totalPages = ceil($totalResult / $limit);
?>

Step 6: টেবিল আকারে ডেটা প্রদর্শন (Edit/Delete)


<table border="1" cellpadding="5">
<tr>
<th>ID</th><th>নাম</th><th>ইমেইল</th><th>মোবাইল</th><th>অ্যাকশন</th>
</tr>
<?php while($row = $result->fetch_assoc()): ?>
<tr>
<td><?= $row['id'] ?></td><td><?= $row['name'] ?></td><td><?= $row['email'] ?></td><td><?= $row['mobile'] ?></td>
<td>
<a href="?edit=<?= $row['id'] ?>">Edit</a> |
<a href="?delete=<?= $row['id'] ?>" onclick="return confirm('Are you sure?')">Delete</a>
</td>
</tr>
<?php endwhile; ?>
</table>
<?php for($i=1; $i<=$totalPages; $i++) echo “<a href=’?page=$i’>$i</a> “; ?>

Step 7: Edit & Update


<?php
if (isset($_GET['edit'])) {
$id = $_GET['edit'];
$editData = $conn->query("SELECT * FROM students WHERE id=$id")->fetch_assoc();
?>
<form method=”post” action=””>
<input type=”hidden” name=”edit_id” value=”<?= $editData[‘id’] ?>”>
নাম: <input type=”text” name=”name” value=”<?= $editData[‘name’] ?>” required><br>
ইমেইল: <input type=”email” name=”email” value=”<?= $editData[’email’] ?>” required><br>
মোবাইল: <input type=”text” name=”mobile” value=”<?= $editData[‘mobile’] ?>” required><br>
<input type=”submit” name=”update” value=”Update”>
</form>
<?php } ?>

<?php
if (isset($_POST[‘update’])) {
$id = $_POST[‘edit_id’];
$name = $_POST[‘name’];
$email = $_POST[’email’];
$mobile = $_POST[‘mobile’];
$conn->query(“UPDATE students SET name=’$name’, email=’$email’, mobile=’$mobile’ WHERE id=$id”);
header(“Location: ?”);
}
?>

Step 8: Delete Function


<?php
if (isset($_GET['delete'])) {
$id = $_GET['delete'];
$conn->query("DELETE FROM students WHERE id=$id");
header("Location: ?");
}
?>

 

Leave a Reply