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).

