Membuat halaman yang terhubung dengan database

Catatan Membuat Halaman Data Siswa

Catatan Membuat Halaman Data Siswa

1. Membuat Database

Gunakan SQL berikut untuk membuat database dan tabel:

CREATE DATABASE sekolah;

USE sekolah;

CREATE TABLE siswa (
    id INT AUTO_INCREMENT PRIMARY KEY,
    kode VARCHAR(50) NOT NULL,
    nama VARCHAR(100) NOT NULL,
    kelas VARCHAR(50) NOT NULL,
    jenis_kelamin ENUM('Laki-laki', 'Perempuan') NOT NULL
);

INSERT INTO siswa (kode, nama, kelas, jenis_kelamin) 
VALUES 
('S001', 'Ali', '10A', 'Laki-laki'),
('S002', 'Budi', '10B', 'Laki-laki'),
('S003', 'Cici', '10A', 'Perempuan');
    

2. Membuat Model

Buat file SiswaModel.php di folder app/Models/:

<?php
namespace App\Models;

use CodeIgniter\Model;

class SiswaModel extends Model
{
    protected $table = 'siswa'; // Nama tabel
    protected $primaryKey = 'id'; // Kolom primary key
    protected $useAutoIncrement = true; // Primary key auto increment
    protected $allowedFields = ['kode', 'nama', 'kelas', 'jenis_kelamin']; // Kolom yang bisa diisi
}
    

3. Membuat Controller

Buat file SiswaController.php di folder app/Controllers/:

<?php
namespace App\Controllers;

use App\Models\SiswaModel; // Memuat model

class SiswaController extends BaseController
{
    public function index()
    {
        $siswaModel = new SiswaModel(); // Membuat instance model
        $data['siswa'] = $siswaModel->findAll(); // Mengambil semua data siswa
        return view('siswa/index', $data); // Menampilkan data ke view
    }
}
    

4. Menambahkan Routes

Tambahkan route berikut di file app/Config/Routes.php:

$routes->get('/siswa', 'SiswaController::index');
    

5. Membuat Halaman Views

Buat file index.php di folder app/Views/siswa/:

<?= $this->extend('layout/page_layout') ?>

<?= $this->section('content') ?>

Data Siswa

Ekspor ke Excel <?php if (!empty($siswa)): ?> <?php foreach ($siswa as $row): ?> <?php endforeach; ?> <?php else: ?> <?php endif; ?>
ID Kode Nama Kelas Jenis Kelamin Aksi
<?= $row['id'] ?> <?= $row['kode'] ?> <?= $row['nama'] ?> <?= $row['kelas'] ?> <?= $row['jenis_kelamin'] ?> Edit | Hapus
Tidak ada data
<?= $this->endSection() ?>

6. Membuat Layout

Buat file page_layout.php di folder app/Views/layout/:

<!DOCTYPE html>        <?= $this->renderSection('content') ?>

Penjelasan Tambahan

  • Model: Untuk berinteraksi dengan database.
  • Controller: Mengontrol logika bisnis dan data yang akan dikirim ke view.
  • Routes: Menentukan URL untuk fungsi tertentu di controller.
  • View: Berisi tampilan antarmuka pengguna.
  • Layout: Template HTML utama yang konsisten di seluruh halaman.

Artikel Popular

Advertisement