Cara Membuat Website Sekolah dengan PHP dan MySQL

Website sekolah membantu menyampaikan informasi profil, berita, dan pengumuman kepada siswa dan orang tua. Membuatnya adalah latihan bagus untuk website berbasis konten. Artikel ini membahas cara membuat website sekolah dengan PHP dan MySQL.

Fitur yang Akan Dibuat

  • Halaman profil/beranda sekolah
  • Berita & pengumuman dinamis dari database
  • Halaman detail berita
  • Panel admin untuk mengelola berita (CRUD)

Langkah 1: Struktur Database

CREATE TABLE berita (
    id INT AUTO_INCREMENT PRIMARY KEY,
    judul VARCHAR(200) NOT NULL,
    slug VARCHAR(200),
    isi TEXT,
    gambar VARCHAR(255),
    dibuat TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE admin (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) UNIQUE,
    password VARCHAR(255)
);

Langkah 2: Menampilkan Berita di Beranda

<?php
require "koneksi.php";
$berita = $koneksi->query("SELECT * FROM berita ORDER BY id DESC LIMIT 6");
while ($b = $berita->fetch_assoc()):
?>
    <div class="berita">
        <h3><a href="detail.php?id=<?= $b["id"] ?>"><?= htmlspecialchars($b["judul"]) ?></a></h3>
        <small><?= date("d M Y", strtotime($b["dibuat"])) ?></small>
        <p><?= substr(strip_tags($b["isi"]), 0, 120) ?>...</p>
    </div>
<?php endwhile; ?>

Langkah 3: Halaman Detail Berita

<?php
require "koneksi.php";
$id = (int) $_GET["id"];
$stmt = $koneksi->prepare("SELECT * FROM berita WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();
$b = $stmt->get_result()->fetch_assoc();
if (!$b) { die("Berita tidak ditemukan."); }
?>
<h1><?= htmlspecialchars($b["judul"]) ?></h1>
<small><?= date("d M Y", strtotime($b["dibuat"])) ?></small>
<div><?= nl2br(htmlspecialchars($b["isi"])) ?></div>

Langkah 4: Panel Admin

Admin login (lihat tutorial login PHP MySQL), lalu mengelola berita lewat CRUD. Lindungi semua halaman admin dengan pengecekan session:

<?php
session_start();
if (!isset($_SESSION["admin"])) {
    header("Location: login.php");
    exit;
}
?>

Tips SEO untuk Website Sekolah

  • Gunakan slug pada URL berita (mis. /berita/lomba-sains) agar ramah mesin pencari.
  • Isi judul yang deskriptif dan tambahkan gambar pada tiap berita.

Kesimpulan

Anda telah membuat kerangka website sekolah PHP dan MySQL: menampilkan berita dinamis, halaman detail, dan panel admin. Pola “konten di database + tampilan publik + panel admin” ini berlaku untuk website berita, organisasi, atau perusahaan. Kembangkan dengan galeri foto, data guru, dan profil lengkap.

Referensi: untuk pendalaman, kunjungi dokumentasi resmi PHP (php.net).

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *