πŸ‘‰ Kwa maelezo zaidi tembelea https://www.faulink.com/

πŸ“˜ 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/