Jifunze kutengeneza Soft Delete System kwa PHP & MySQL—badala ya kufuta data kabisa, inawekwa kwenye status ya deleted ili iweze kurejeshwa baadaye.

✅ 1. Ongeza Column kwenye Database

Ongeza field kwenye table yako:

ALTER TABLE posts ADD deleted_at DATETIME NULL;


Hii ndiyo itahifadhi tarehe ya kufutwa (soft delete).

✅ 2. Soft Delete Function (Badala ya DELETE)
function soft_delete($id, $conn) {
$sql = "UPDATE posts SET deleted_at = NOW() WHERE id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $id);
return $stmt->execute();
}


Kutumia:

soft_delete(5, $conn);

✅ 3. Ku-Filter Records Zisizo Futwa

Badala ya:

SELECT * FROM posts;


Tumia:

SELECT * FROM posts WHERE deleted_at IS NULL;

✅ 4. Kuonyesha Items Zilizofutwa (Recycle Bin)
SELECT * FROM posts WHERE deleted_at IS NOT NULL;

✅ 5. Restore (Undo Delete)
function restore_record($id, $conn) {
$sql = "UPDATE posts SET deleted_at = NULL WHERE id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $id);
return $stmt->execute();
}


Kutumia:

restore_record(5, $conn);

✅ 6. Permanent Delete (Optional)

Ikiwa unataka kufuta kabisa:

function permanent_delete($id, $conn) {
$sql = "DELETE FROM posts WHERE id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $id);
return $stmt->execute();
}

🔥 Faida za Soft Delete

Unarejesha makosa ya kufuta kwa bahati mbaya

Inapunguza hatari ya kupoteza data

Inafaa sana kwenye systems kubwa kama:
✔️ Accounting systems
✔️ School management systems
✔️ Blog CMS
✔️ Sales & Inventory

🔗 Links Za Kujifunza Zaidi

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

📘 Jifunze Web Design & Programming (Tutorials / Mifumo):
https://www.faulink.com/excel_mifumo.php

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