Uko ndani ya app. Fungua kwenye browser kwa muonekano na downloads bora.
FAUSTINE MWOYA November 24, 2025 1 min read

Jinsi ya Kutengeneza Mfumo Kamili wa Kupakia, Kuhariri, na Kusimamia Faili za Excel kwa PHP & MySQL full code step by step for beginners

Katika makala hii, tutajenga mfumo kamili wa kusimamia mifumo ya Excel (Excel Systems) kwa kutumia PHP, MySQL, na Bootstrap.

Mfumo huu unaruhusu admin:

✔ Kupakia faili za Excel (xlsx, xls, zip)
✔ Kuhifadhi maelezo ya faili kwenye database
✔ Kuonyesha mifumo yote kwa mtindo wa kisasa
✔ Kuedit taarifa au kubadilisha faili
✔ Kufuta mfumo
✔ Kuongeza video ya YouTube kwa ajili ya maelezo ya mfumo

Mfumo huu ni rahisi, salama, na unafaa kwa mafunzo, huduma za IT, au website za kuuza mifumo mbalimbali.

🔧 1. Database Structure (excel_files table)

Kabla ya kitu chochote, unda table hii kwenye database yako:

CREATE TABLE excel_files (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255),
description TEXT,
filename VARCHAR(255),
size VARCHAR(50),
type ENUM('sample','complete'),
youtube_link VARCHAR(255) NULL,
uploaded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

🔐 2. Admin Login Protection

Faili zote za admin hutumia:

session_start();
if (!isset($_SESSION['admin_logged'])) {
header("Location: upload_login.php");
exit;
}

Hii inalinda mfumo.

🧩 3. CODE KAMILI YA MFUMO WOTE (Upload, Edit, Display, Delete)

👇👇 Hii ndiyo code ya mfumo wote kwa pamoja. Unaweza kuipaste moja kwa moja.

connect_error) die("Database connection failed.");

$msg = "";

/* ============================
UPLOAD FILE
=============================*/
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['excel_file'])) {
$title = $conn->real_escape_string($_POST['title']);
$description = $conn->real_escape_string($_POST['description']);
$type = $conn->real_escape_string($_POST['type']);
$youtube_link = !empty($_POST['youtube_link']) ? $conn->real_escape_string($_POST['youtube_link']) : NULL;

$upload_dir = "uploads/excel/";
@mkdir($upload_dir, 0777, true);

$filename = time() . "_" . basename($_FILES["excel_file"]["name"]);
$target = $upload_dir . $filename;

if (move_uploaded_file($_FILES["excel_file"]["tmp_name"], $target)) {
$size = round($_FILES["excel_file"]["size"] / 1024, 1) . " KB";

$sql = "INSERT INTO excel_files (title, description, filename, size, type, youtube_link, uploaded_at)
VALUES ('$title', '$description', '$filename', '$size', '$type', " . ($youtube_link ? "'$youtube_link'" : "NULL") . ", NOW())";
$conn->query($sql);

$msg = "

Mfumo umeongezwa kwa mafanikio!

";
} else {
$msg = "

Imeshindikana kupakia faili.

";
}
}

/* ============================
UPDATE FILE
=============================*/
if (isset($_POST['update_id'])) {
$id = intval($_POST['update_id']);
$title = $conn->real_escape_string($_POST['edit_title']);
$description = $conn->real_escape_string($_POST['edit_description']);
$type = $conn->real_escape_string($_POST['edit_type']);
$youtube_link = !empty($_POST['edit_youtube_link']) ? $conn->real_escape_string($_POST['edit_youtube_link']) : NULL;

$file_sql = "";
if (!empty($_FILES['edit_excel_file']['name'])) {
$upload_dir = "uploads/excel/";
@mkdir($upload_dir, 0777, true);
$filename = time() . "_" . basename($_FILES["edit_excel_file"]["name"]);
$target = $upload_dir . $filename;

if (move_uploaded_file($_FILES["edit_excel_file"]["tmp_name"], $target)) {
$size = round($_FILES["edit_excel_file"]["size"] / 1024, 1) . " KB";
$file_sql = ", filename='$filename', size='$size'";
}
}

$sql = "UPDATE excel_files SET
title='$title',
description='$description',
type='$type',
youtube_link=" . ($youtube_link ? "'$youtube_link'" : "NULL") . "
$file_sql
WHERE id=$id";

$conn->query($sql);
$msg = "

Mfumo umesasishwa kwa mafanikio!

";
}

/* ============================
GET ALL FILES
=============================*/
$result = $conn->query("SELECT * FROM excel_files ORDER BY id DESC");
?>

Admin - Manage Mifumo ya Excel

Ongeza / Hariri Mifumo ya Excel

= $msg ?>

Mifumo Iliyopo
fetch_assoc()): ?>
#JinaAinaUkubwa VideoTareheVitendo
= $row['id'] ?> = htmlspecialchars($row['title']) ?> = ucfirst($row['type']) ?> = $row['size'] ?> -- = $row['uploaded_at'] ?>

🎉 Hitimisho

Kwa kutumia code hii, sasa una mfumo kamili unaofanya:

✔ Upload
✔ Edit
✔ Display
✔ Delete
✔ YouTube preview
✔ Responsive Bootstrap UI

Ni mfumo wa kiwango cha kitaalamu unaoweza kuboreshwa kulingana na mahitaji ya mradi wako au project yako.

🔗 Links Za Kujifunza Zaidi

🌐 Faulink Official Website:
https://www.faulink.com/

📘 Jifunze Web Design & Programming:
https://www.faulink.com/excel_mifumo.php

📲 WhatsApp kwa msaada:
https://wa.me/255693118509

🚀 Unahitaji mfumo au website ya biashara?

Chagua huduma hapa chini kisha mteja bofya moja kwa moja kwenda kwenye ukurasa wa huduma au kuwasiliana nasi kwa WhatsApp.

Share this post

Comments

0
No comments yet. Be the first to comment.

Continue Reading

Subscribe

Get new updates

Jiunge upokee posts mpya, tutorials, na updates za mifumo moja kwa moja kwenye email yako.

Quick Actions