Jinsi ya Kutengeneza Admin Panel kwa Database Management
π Utangulizi
Admin panel ni sehemu muhimu katika mfumo wa usimamizi wa data (Database Management System). Hii ndiyo sehemu ambapo mtumiaji (administrator) anaweza kuongeza, kuhariri, kufuta, na kutazama taarifa zote zilizomo kwenye database kwa urahisi kupitia interface ya web.
Katika somo hili, tutajifunza jinsi ya kutengeneza simple Admin Panel kwa kutumia PHP na MySQL.
βοΈ Vitu vya Msingi Unavyohitaji
PHP β kwa ajili ya logic ya mfumo.
MySQL Database β kuhifadhi data.
HTML + CSS β kwa muonekano wa tovuti.
XAMPP au Laragon β kwa server ya local (Apache + MySQL).
π§© Hatua ya 1: Tengeneza Database
Fungua phpMyAdmin, kisha tengeneza database inayoitwa school_system:
CREATE DATABASE school_system;
USE school_system;
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
class VARCHAR(50),
email VARCHAR(100)
);
π§© Hatua ya 2: Kuunganisha PHP na Database
Hifadhi faili kama db_connect.php:
<?php
$host = "localhost";
$user = "root";
$pass = "";
$dbname = "school_system";
$conn = new mysqli($host, $user, $pass, $dbname);
if ($conn->connect_error) {
die("Kushindwa kuunganisha: " . $conn->connect_error);
}
?>
π§© Hatua ya 3: Kutengeneza Admin Dashboard
Faili: admin_dashboard.php
<?php include 'db_connect.php'; ?>
<!DOCTYPE html>
<html>
<head>
<title>Admin Panel - Student Management</title>
<style>
body { font-family: Arial; margin: 20px; }
h2 { color: #333; }
table { border-collapse: collapse; width: 100%; margin-top: 20px; }
table, th, td { border: 1px solid #ccc; }
th, td { padding: 10px; text-align: left; }
a { text-decoration: none; color: blue; }
.add-btn { background: green; color: white; padding: 8px 15px; border-radius: 5px; }
</style>
</head>
<body>
<h2>Admin Panel - Manage Students</h2>
<a class="add-btn" href="add_student.php">+ Add New Student</a>
<table>
<tr>
<th>ID</th><th>Name</th><th>Class</th><th>Email</th><th>Action</th>
</tr>
<?php
$result = $conn->query("SELECT * FROM students");
while($row = $result->fetch_assoc()){
echo "<tr>
<td>{$row['id']}</td>
<td>{$row['name']}</td>
<td>{$row['class']}</td>
<td>{$row['email']}</td>
<td>
<a href='edit_student.php?id={$row['id']}'>Edit</a> |
<a href='delete_student.php?id={$row['id']}'>Delete</a>
</td>
</tr>";
}
?>
</table>
</body>
</html>
π§© Hatua ya 4: Kuongeza Mwanafunzi
Faili: add_student.php
<?php include 'db_connect.php'; ?>
<!DOCTYPE html>
<html>
<head><title>Add Student</title></head>
<body>
<h2>Add New Student</h2>
<form method="POST">
Name: <input type="text" name="name"><br><br>
Class: <input type="text" name="class"><br><br>
Email: <input type="email" name="email"><br><br>
<button type="submit" name="save">Save</button>
</form>
<?php
if (isset($_POST['save'])) {
$name = $_POST['name'];
$class = $_POST['class'];
$email = $_POST['email'];
$conn->query("INSERT INTO students (name, class, email) VALUES ('$name','$class','$email')");
echo "β Student Added Successfully! <a href='admin_dashboard.php'>Go Back</a>";
}
?>
</body>
</html>
π§© Hatua ya 5: Kurekebisha na Kufuta Data
(a) Edit File: edit_student.php
<?php include 'db_connect.php'; ?>
<?php
$id = $_GET['id'];
$result = $conn->query("SELECT * FROM students WHERE id=$id");
$row = $result->fetch_assoc();
?>
<h2>Edit Student</h2>
<form method="POST">
Name: <input type="text" name="name" value="<?= $row['name']; ?>"><br><br>
Class: <input type="text" name="class" value="<?= $row['class']; ?>"><br><br>
Email: <input type="email" name="email" value="<?= $row['email']; ?>"><br><br>
<button type="submit" name="update">Update</button>
</form>
<?php
if (isset($_POST['update'])) {
$name = $_POST['name'];
$class = $_POST['class'];
$email = $_POST['email'];
$conn->query("UPDATE students SET name='$name', class='$class', email='$email' WHERE id=$id");
echo "β Updated Successfully! <a href='admin_dashboard.php'>Go Back</a>";
}
?>
(b) Delete File: delete_student.php
<?php
include 'db_connect.php';
$id = $_GET['id'];
$conn->query("DELETE FROM students WHERE id=$id");
header("Location: admin_dashboard.php");
?>
π‘ Hitimisho
Admin Panel ni moyo wa mfumo wa web-based management. Ukiwa na panel hii, unaweza kusimamia taarifa zote muhimu kwa urahisi β bila kutumia phpMyAdmin moja kwa moja.
Kwa kujifunza vizuri, unaweza kupanua mfumo huu na kuunda:
Login system kwa admin.
Pagination na search filters.
Export data (Excel, PDF).
π Angalia zaidi hapa
π https://www.faulink.com/