Langsung ke konten utama

Belajar Web Ceria 8

Tutorial PHP dan MySQL: Membuat Aplikasi CRUD [Studi Kasus Pendaftaran Siswa Baru]

Halo Kisanak, Kali ini aku mencoba mengimplenetasikan Tutorial PHP & SQL yang dibuat oleh petanikode
Berikut ini repositori yang bisa kalian pakai diGithubku. Disini terdapat beberapa file php yang digunakan antara lain:
  1. config.php — untuk menyimpan konfigurasi database;
  2. index.php — halaman utama;
  3. list-siswa.php — halaman untuk menampilkan data siswa;
  4. form-daftar.php — halaman formulir pendaftaran;
  5. proses-pendaftaran.php — skrip yang memproses pendaftaran;
  6. form-edit.php — form untuk edit data siswa;
  7. proses-edit.php — skrip untuk memproses edit/update;
  8. hapus.php — skrip untuk menghapus data dari database;
Kalian bisa coba langsung disini dan begini tampilannya:
Halaman Utama

Halaman tambah siswa

Halaman edit siswa

Halaman list siswa

Dan ini dia Source Codenya

config.php

<?php
$server = "localhost";
$user = "root";
$password = "";
$nama_database = "pendaftaran_siswa";
$db = mysqli_connect($server, $user, $password, $nama_database);
if( !$db ){
die("Gagal terhubung dengan database: " . mysqli_connect_error());
}
?>
view raw config.php hosted with ❤ by GitHub

index.php

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<title>Pendaftaran Siswa Baru | SMK Coding</title>
<style type="text/css">
body{
/*padding-left: 4rem;*/
padding-top: 6rem;
padding-bottom: 5rem;
background-color: #FFEBCC;
font-family: 'Open Sans', sans-serif;
}
.menu{
border-radius:20px;
padding : 3rem 5rem;
margin-top: 4rem;
margin-left:25rem;
margin-right:25rem;
background-color: #FBFFE2;
}
.button {
background-color: white;
color: black;
border: 2px solid #FFAFAF;
padding: 10px 28px;
margin: 4px 2px;
transition-duration: 0.4s;
cursor: pointer;
border-radius:10px; */
}
.button:hover {
background-color: #FF9999;
color: white;
}
</style>
</head>
<body>
<header style="text-align: center;">
<h3>Pendaftaran Siswa Baru</h3>
<h1>SMA SMA an</h1>
</header>
<div class="menu">
<h4 style="text-align: center;">Menu</h4>
<hr>
<nav style="text-align: center;">
<a href="form-daftar.php">
<button class="button">Daftar Baru</button>
</a>
<br>
<a href="list-siswa.php">
<button class="button">Data Pendaftar</button>
</a>
</nav>
</div>
<?php if(isset($_GET['status'])): ?>
<p>
<?php
if($_GET['status'] == 'sukses'){
echo "Pendaftaran siswa baru berhasil!";
} else {
echo "Pendaftaran gagal!";
}
?>
</p>
<?php endif; ?>
</body>
</html>
view raw index.php hosted with ❤ by GitHub

list-siswa.php

<?php include("config.php"); ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<title>Pendaftaran Siswa Baru | SMK Coding</title>
<style type="text/css">
body{
/*padding-left: 4rem;*/
padding-top: 6rem;
padding-bottom: 5rem;
background-color: #FFEBCC;
font-family: 'Open Sans', sans-serif;
}
.tabel{
border-radius:20px;
padding : 3rem 5rem;
margin-top: 4rem;
margin-left:2rem;
margin-right:2rem;
background-color: #FBFFE2;
}
.button {
background-color: white;
color: black;
border: 2px solid #FFAFAF;
padding: 10px 28px;
margin: 4px 2px;
transition-duration: 0.4s;
cursor: pointer;
border-radius:10px;
}
.button:hover {
background-color: #FF9999;
color: white;
}
a{
text-decoration: none;
}
</style>
</head>
<body>
<header style="text-align: center">
<h3>Siswa yang sudah mendaftar</h3>
</header>
<div class="tabel">
<nav >
<a class="button" href="form-daftar.php">Tambah Baru</a>
</nav>
<br>
<table class="table table-striped" border="1">
<thead>
<tr>
<th>No</th>
<th>Nama</th>
<th>Alamat</th>
<th>Jenis Kelamin</th>
<th>Agama</th>
<th>Sekolah Asal</th>
<th>Tindakan</th>
</tr>
</thead>
<tbody>
<?php
$sql = "SELECT * FROM calon_siswa";
$query = mysqli_query($db, $sql);
while($siswa = mysqli_fetch_array($query)){
echo "<tr>";
echo "<td>".$siswa['id']."</td>";
echo "<td>".$siswa['nama']."</td>";
echo "<td>".$siswa['alamat']."</td>";
echo "<td>".$siswa['jenis_kelamin']."</td>";
echo "<td>".$siswa['agama']."</td>";
echo "<td>".$siswa['sekolah_asal']."</td>";
echo "<td>";
echo "<a href='form-edit.php?id=".$siswa['id']."'>Edit</a> | ";
echo "<a href='hapus.php?id=".$siswa['id']."'>Hapus</a>";
echo "</td>";
echo "</tr>";
}
?>
</tbody>
</table>
<p>Total: <?php echo mysqli_num_rows($query) ?></p>
</div>
</body>
</html>
view raw list-siswa.php hosted with ❤ by GitHub

form-daftar.php

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<title>Pendaftaran Siswa Baru | SMK Coding</title>
<style type="text/css">
body{
/*padding-left: 4rem;*/
padding-top: 6rem;
padding-bottom: 5rem;
background-color: #FFEBCC;
font-family: 'Open Sans', sans-serif;
}
.formulir{
border-radius:20px;
padding : 3rem 5rem;
margin-top: 4rem;
margin-left:25rem;
margin-right:25rem;
background-color: #FBFFE2;
}
.button {
background-color: white;
color: black;
border: 2px solid #FFAFAF;
padding: 10px 28px;
margin: 4px 2px;
transition-duration: 0.4s;
cursor: pointer;
border-radius:10px; */
}
.button:hover {
background-color: #FF9999;
color: white;
}
</style>
</head>
<body>
<header style="text-align: center;">
<h3>Formulir Pendaftaran Siswa Baru</h3>
</header>
<div class="formulir">
<form action="proses-pendaftaran.php" method="POST">
<fieldset>
<p>
<label for="nama">Nama: </label>
<input type="text" name="nama" placeholder="nama lengkap" />
</p>
<p>
<label for="alamat">Alamat: </label>
<textarea name="alamat"></textarea>
</p>
<p>
<label for="jenis_kelamin">Jenis Kelamin: </label>
<label><input type="radio" name="jenis_kelamin" value="laki-laki"> Laki-laki</label>
<label><input type="radio" name="jenis_kelamin" value="perempuan"> Perempuan</label>
</p>
<p>
<label for="agama">Agama: </label>
<select name="agama">
<option>Islam</option>
<option>Kristen</option>
<option>Hindu</option>
<option>Budha</option>
<option>Atheis</option>
</select>
</p>
<p>
<label for="sekolah_asal">Sekolah Asal: </label>
<input type="text" name="sekolah_asal" placeholder="nama sekolah" />
</p>
<p>
<input class="button" type="submit" value="Daftar" name="daftar" />
</p>
</fieldset>
</form>
</div>
</body>
</html>
view raw form-daftar.php hosted with ❤ by GitHub

proses-pendaftaran.php

<?php
include("config.php");
// cek apakah tombol daftar sudah diklik atau blum?
if(isset($_POST['daftar'])){
// ambil data dari formulir
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$jk = $_POST['jenis_kelamin'];
$agama = $_POST['agama'];
$sekolah = $_POST['sekolah_asal'];
// buat query
$sql = "INSERT INTO calon_siswa (nama, alamat, jenis_kelamin, agama, sekolah_asal) VALUE ('$nama', '$alamat', '$jk', '$agama', '$sekolah')";
$query = mysqli_query($db, $sql);
// apakah query simpan berhasil?
if( $query ) {
// kalau berhasil alihkan ke halaman index.php dengan status=sukses
header('Location: index.php?status=sukses');
} else {
// kalau gagal alihkan ke halaman indek.php dengan status=gagal
header('Location: index.php?status=gagal');
}
} else {
die("Akses dilarang...");
}
?>

form-edit.php

<?php
include("config.php");
// kalau tidak ada id di query string
if( !isset($_GET['id']) ){
header('Location: list-siswa.php');
}
//ambil id dari query string
$id = $_GET['id'];
// buat query untuk ambil data dari database
$sql = "SELECT * FROM calon_siswa WHERE id=$id";
$query = mysqli_query($db, $sql);
$siswa = mysqli_fetch_assoc($query);
// jika data yang di-edit tidak ditemukan
if( mysqli_num_rows($query) < 1 ){
die("data tidak ditemukan...");
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<title>Pendaftaran Siswa Baru | SMK Coding</title>
<style type="text/css">
body{
/*padding-left: 4rem;*/
padding-top: 6rem;
padding-bottom: 5rem;
background-color: #FFEBCC;
font-family: 'Open Sans', sans-serif;
}
.formulir{
border-radius:20px;
padding : 3rem 5rem;
margin-top: 4rem;
margin-left:25rem;
margin-right:25rem;
background-color: #FBFFE2;
}
.button {
background-color: white;
color: black;
border: 2px solid #FFAFAF;
padding: 10px 28px;
margin: 4px 2px;
transition-duration: 0.4s;
cursor: pointer;
border-radius:10px; */
}
.button:hover {
background-color: #FF9999;
color: white;
}
</style>
</head>
<body>
<header style="text-align: center;">
<h3>Formulir Edit Siswa</h3>
</header>
<div class="formulir">
<form action="proses-edit.php" method="POST">
<fieldset>
<input type="hidden" name="id" value="<?php echo $siswa['id'] ?>" />
<p>
<label for="nama">Nama: </label>
<input type="text" name="nama" placeholder="nama lengkap" value="<?php echo $siswa['nama'] ?>" />
</p>
<p>
<label for="alamat">Alamat: </label>
<textarea name="alamat"><?php echo $siswa['alamat'] ?></textarea>
</p>
<p>
<label for="jenis_kelamin">Jenis Kelamin: </label>
<?php $jk = $siswa['jenis_kelamin']; ?>
<label><input type="radio" name="jenis_kelamin" value="laki-laki" <?php echo ($jk == 'laki-laki') ? "checked": "" ?>> Laki-laki</label>
<label><input type="radio" name="jenis_kelamin" value="perempuan" <?php echo ($jk == 'perempuan') ? "checked": "" ?>> Perempuan</label>
</p>
<p>
<label for="agama">Agama: </label>
<?php $agama = $siswa['agama']; ?>
<select name="agama">
<option <?php echo ($agama == 'Islam') ? "selected": "" ?>>Islam</option>
<option <?php echo ($agama == 'Kristen') ? "selected": "" ?>>Kristen</option>
<option <?php echo ($agama == 'Hindu') ? "selected": "" ?>>Hindu</option>
<option <?php echo ($agama == 'Budha') ? "selected": "" ?>>Budha</option>
<option <?php echo ($agama == 'Atheis') ? "selected": "" ?>>Atheis</option>
</select>
</p>
<p>
<label for="sekolah_asal">Sekolah Asal: </label>
<input type="text" name="sekolah_asal" placeholder="nama sekolah" value="<?php echo $siswa['sekolah_asal'] ?>" />
</p>
<p>
<input class="button" type="submit" value="Simpan" name="simpan" />
</p>
</fieldset>
</form>
</div>
</body>
</html>
view raw form-edit.php hosted with ❤ by GitHub

proses-edit.php

<?php
include("config.php");
// cek apakah tombol simpan sudah diklik atau blum?
if(isset($_POST['simpan'])){
// ambil data dari formulir
$id = $_POST['id'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$jk = $_POST['jenis_kelamin'];
$agama = $_POST['agama'];
$sekolah = $_POST['sekolah_asal'];
// buat query update
$sql = "UPDATE calon_siswa SET nama='$nama', alamat='$alamat', jenis_kelamin='$jk', agama='$agama', sekolah_asal='$sekolah' WHERE id=$id";
$query = mysqli_query($db, $sql);
// apakah query update berhasil?
if( $query ) {
// kalau berhasil alihkan ke halaman list-siswa.php
header('Location: list-siswa.php');
} else {
// kalau gagal tampilkan pesan
die("Gagal menyimpan perubahan...");
}
} else {
die("Akses dilarang...");
}
?>
view raw proses-edit hosted with ❤ by GitHub

hapus.php

<?php
include("config.php");
if( isset($_GET['id']) ){
// ambil id dari query string
$id = $_GET['id'];
// buat query hapus
$sql = "DELETE FROM calon_siswa WHERE id=$id";
$query = mysqli_query($db, $sql);
// apakah query hapus berhasil?
if( $query ){
header('Location: list-siswa.php');
} else {
die("gagal menghapus...");
}
} else {
die("akses dilarang...");
}
?>
view raw hapus.php hosted with ❤ by GitHub

Komentar

Postingan populer dari blog ini

Belajar Java Ceria 5

Game The world-of-zuul      Halo kisnak, kali ini aku akan membuat sebuah project kecil yang dibuat berdasarkan buku Object First With Java. Game ini sebenarnya bertipe adventure, tapi ya biasa aja dan membosankan. Akan tetapi, ini bisa menjadi implementasi untuk Designing Classes. Terdapat 5 kelas pada project ini, yaitu: ■ CommandWords - Kelas CommandWords mendefinisikan semua Command yang valid dalam permainan (go, help, quit). Ini dilakukan dengan menyimpan array objek String yang mewakili kata-kata perintah. ■ Parser  - Parser membaca baris input dari terminal dan mencoba menafsirkannya sebagai Command. Ini membuat objek dari Class Command yang mewakili perintah itu masuk. ■ Command  - Sebuah objek perintah mewakili perintah yang dimasukkan oleh pengguna. Ini memiliki metode yang memudahkan kita untuk memeriksa apakah ini adalah perintah yang valid dan untuk mendapatkan kata pertama dan kedua dari perintah tersebut sebagai string terpisah. ■ Room - Objek ...

Belajar Java Ceria 4

Technical Support System Sederhana     Sebuah Technical Support System yang sesungguhnya pasti memakai bot didalamnya, dan itu perlu ilmu yang lebih tinggi karena merupakan salah satu contoh aplikasi kognitif dan penerapan AI. Tapi kali ini aku akan buat yang versi sederhana saja berdasarkan buku Objects First With Java bab 5 bagian 5.2. Jadi dibuku sudah dibuat program dasarnya,  yang betul-betul simpel banget dan biasa aja. Nah disini aku sedikit modifikasi agar sistem ini terlihat lebih "hidup". Jadi berikut ini Class dari programnya, dan sudah kubuat dokumentasi singkat didalamnya InputReader Responder supportSystem mainSupportSystem Ini akan jadi main program yang akan menjalankan seluruh Class di atas Dan berikut ini salah satu output yang dapat diberikan Kalian bisa kok menggunakan kode diatas dan membuat variasi yang lebih menarik dari ini. Mantap, Rispek!!✌

Belajar Java Ceria 3

 Grouping Object      Kali ini aku akan mencoba implementasi sederhana tentang grouping object dengan Collection serta membuat Sistem lelang sangat sederhana  Java Collection Java Collection secara sederhana merupakan sebuah objek. Collectionadalah framework yang menyediakan tempat untuk menyimpan dan memanipulasi sekumpulan objek. framework ini dapat melakukan pencarian, pengurutan, memasukan data dan menghapus. Collection menyediakan berbagai interface seperti Set, List, Queue, Dequeue dan untuk class-nya antara lain, ArrayList, Vector, Linked List, dll.  ArrayList Contoh ArrayList ini memakai iterasi while Contoh ArrayList dengan For-Each Loop ini memakai iterasi for Contoh ArrayList dan Class Data Disini perlu dibuat dulu Class Mahasiswa, bisa seperti ini Dan Seperti ini Class dari ArrayListnya Contoh Memakai addAll di ArrayList Contoh Memakai RemoveAll di ArrayList Contoh Memakai RetainAll di ArrayList Demikian berbagai contoh pengunaan Arraylist. Lal...