Nama : Afel Allaric Absor
NRP : 5025231140
Kelas : Pemrograman Web (E)
Pertemuan 11 CRUD PHP MYSQL
- calon-siswa.sql :
CREATE DATABASE IF NOT EXISTS pendaftaran_siswa;
USE pendaftaran_siswa;
CREATE TABLE IF NOT EXISTS calon_siswa (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100) NOT NULL,
alamat TEXT NOT NULL,
jenis_kelamin ENUM('Laki-laki', 'Perempuan') NOT NULL,
agama VARCHAR(50) NOT NULL,
sekolah_asal VARCHAR(100) NOT NULL
);
Kode diatas berfungsi untuk membuat db dan table untuk tugas ini.
- index.php :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Home</title>
</head>
<body>
<h1>Selamat Datang di sistem pendaftaran siswa baru</h1>
<a href="form-daftar.php">Daftar Baru</a>
<a href="list-siswa.php">List Siswa</a>
</body>
</html>
Kode diatas berfungsi sebagai halaman utama web.
- config.php :
<?php
$host = 'localhost';
$user = 'root';
$password = '';
$dbname = 'pendaftaran_siswa';
// Koneksi ke database
$conn = mysqli_connect($host, $user, $password, $dbname);
// Cek koneksi
if (!$conn) {
die('Koneksi gagal: ' . mysqli_connect_error());
}
Kode diatas befungsi untuk menyambungkan mysql dengan page webnya.
- proses-pendaftaran.php :
<?php
require 'config.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$jenis_kelamin = $_POST['jenis_kelamin'];
$agama = $_POST['agama'];
$sekolah_asal = $_POST['sekolah_asal'];
$sql = "INSERT INTO calon_siswa (nama, alamat, jenis_kelamin, agama, sekolah_asal)
VALUES ('$nama', '$alamat', '$jenis_kelamin', '$agama', '$sekolah_asal')";
if (mysqli_query($conn, $sql)) {
echo "Pendaftaran berhasil! <a href='index.php'>Kembali ke halaman utama</a>";
} else {
echo "Pendaftaran gagal: " . mysqli_error($conn);
}
mysqli_close($conn);
}
Kode diatas adalah logika dari suatu page yaitu form pendaftaran untuk mendaftarkan data siswa yang baru.
- form-daftar.php :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Form Daftar</title>
</head>
<body>
<h1>Form Pendaftaran</h1>
<form action="proses-pendaftaran.php" method="POST">
<label for="nama">Nama:</label>
<input type="text" name="nama" id="nama" required><br>
<label for="alamat">Alamat:</label>
<textarea name="alamat" id="alamat" required></textarea><br>
<label for="jenis_kelamin">Jenis Kelamin:</label>
<select name="jenis_kelamin" id="jenis_kelamin" required>
<option value="Laki-laki">Laki-laki</option>
<option value="Perempuan">Perempuan</option>
</select><br>
<label for="agama">Agama:</label>
<input type="text" name="agama" id="agama" required><br>
<label for="sekolah_asal">Sekolah Asal:</label>
<input type="text" name="sekolah_asal" id="sekolah_asal" required><br>
<button type="submit">Daftar</button>
</form>
</body>
</html>
Kode diatas berfungsi untuk membuat form page untuk menambahkan data siswa.
- hapus.php :
<?php
require 'config.php';
if (isset($_GET['id'])) {
$id = $_GET['id'];
$sql = "DELETE FROM calon_siswa WHERE id = $id";
if (mysqli_query($conn, $sql)) {
header('Location: list-siswa.php');
} else {
echo'Gagal menghapus data: '. mysqli_error($conn);
}
}
Kode diatas akan digunakan sebagai logika dari "Hapus" pada setiap row data siswa pada page list-siswa.
- list-siswa.php :
<?php
require 'config.php';
$sql = "SELECT * FROM calon_siswa";
$result = mysqli_query($conn, $sql);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>List siswa</title>
</head>
<body>
<h1>Daftar Siswa</h1>
<a href="form-daftar.php">[+] Tambah Siswa Baru</a>
<a href="edit-siswa.php">[+] Edit Data Siswa</a>
<table border="1">
<thead>
<tr>
<th>ID</th>
<th>Nama</th>
<th>Alamat</th>
<th>Jenis Kelamin</th>
<th>Agama</th>
<th>Sekolah Asal</th>
<th>Hapus</th>
<th>Edit</th>
</tr>
</thead>
<tbody>
<?php while($row = mysqli_fetch_assoc($result)):?>
<tr>
<td><?= $row['id'] ?></td>
<td><?= htmlspecialchars($row['nama']) ?>
</td>
<td><?= htmlspecialchars($row['alamat']) ?>
</td>
<td><?= $row['jenis_kelamin'] ?>
</td>
<td><?= htmlspecialchars($row['agama']) ?>
</td>
<td><?= htmlspecialchars($row['sekolah_asal']) ?>
</td>
<td>
<a href="hapus.php?id=<?= $row['id'] ?>" onclick="return confirm('Apakah Anda yakin ingin menghapus data ini?');">
Hapus
</a>
</td>
<td>
<a href="edit-siswa.php?id=<?= $row['id'] ?>">Edit</a>
</td>
</tr>
<?php endwhile;?>
</tbody>
</table>
</body>
</html>
Kode diatas berfungsi untuk menampilkan list dari data siswa yang telah dimasukkan serta jika ingin menghapus atau mengedit data siswa yang telah dimasukkan tersebut, logikanya menggunakan proses-pendaftaran.php
- proses-edit.php :
<?php
require 'config.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$id = $_POST['id'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$jenis_kelamin = $_POST['jenis_kelamin'];
$agama = $_POST['agama'];
$sekolah_asal = $_POST['sekolah_asal'];
$sql = "UPDATE calon_siswa SET
nama = '$nama',
alamat = '$alamat',
jenis_kelamin = '$jenis_kelamin',
agama = '$agama',
sekolah_asal = '$sekolah_asal'
WHERE id = $id";
if (mysqli_query($conn, $sql)) {
header('Location: list-siswa.php');
exit(); // Selalu gunakan exit() setelah header untuk mencegah eksekusi lebih lanjut
} else {
echo "Gagal mengupdate data: " . mysqli_error($conn);
}
}
?>
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Edit Data Calon Siswa</title>
</head>
<body>
<h2>Edit Data Calon Siswa</h2>
<form action="proses-edit.php" method="POST">
<input type="hidden" name="id" value="1"> <!-- Ganti '1' dengan ID siswa yang ingin diubah -->
<label for="nama">Nama:</label><br>
<input type="text" name="nama" id="nama" value="Nama Lama"><br><br>
<label for="alamat">Alamat:</label><br>
<input type="text" name="alamat" id="alamat" value="Alamat Lama"><br><br>
<label for="jenis_kelamin">Jenis Kelamin:</label><br>
<select name="jenis_kelamin" id="jenis_kelamin">
<option value="Laki-laki">Laki-laki</option>
<option value="Perempuan">Perempuan</option>
</select><br><br>
<label for="agama">Agama:</label><br>
<input type="text" name="agama" id="agama" value="Agama Lama"><br><br>
<label for="sekolah_asal">Sekolah Asal:</label><br>
<input type="text" name="sekolah_asal" id="sekolah_asal" value="Sekolah Asal Lama"><br><br>
<input type="submit" value="Simpan Perubahan">
</form>
</body>
</html>
Kode diatas berfungsi sebagai logika page edit data siswa.
- edit-siswa.php :
<?php
require 'config.php';
// Pastikan ID tersedia di URL
if (isset($_GET['id'])) {
$id = $_GET['id'];
// Query untuk mengambil data siswa berdasarkan ID
$sql = "SELECT * FROM calon_siswa WHERE id = ?";
$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param($stmt, "i", $id);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
// Cek jika data ditemukan
if ($data = mysqli_fetch_assoc($result)) {
// Lanjutkan menampilkan form dengan data lama
} else {
echo "Data tidak ditemukan!";
exit;
}
} else {
echo "ID tidak diberikan!";
exit;
}
?>
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Edit Data Siswa</title>
</head>
<body>
<h2>Edit Data Siswa</h2>
<form action="proses-edit.php" method="POST">
<!-- Hidden input untuk ID -->
<input type="hidden" name="id" value="<?= $data['id'] ?>">
<label for="nama">Nama:</label><br>
<input type="text" name="nama" id="nama" value="<?= htmlspecialchars($data['nama']) ?>"><br><br>
<label for="alamat">Alamat:</label><br>
<input type="text" name="alamat" id="alamat" value="<?= htmlspecialchars($data['alamat']) ?>"><br><br>
<label for="jenis_kelamin">Jenis Kelamin:</label><br>
<select name="jenis_kelamin" id="jenis_kelamin">
<option value="Laki-laki" <?= $data['jenis_kelamin'] == 'Laki-laki' ? 'selected' : '' ?>>Laki-laki</option>
<option value="Perempuan" <?= $data['jenis_kelamin'] == 'Perempuan' ? 'selected' : '' ?>>Perempuan</option>
</select><br><br>
<label for="agama">Agama:</label><br>
<input type="text" name="agama" id="agama" value="<?= htmlspecialchars($data['agama']) ?>"><br><br>
<label for="sekolah_asal">Sekolah Asal:</label><br>
<input type="text" name="sekolah_asal" id="sekolah_asal" value="<?= htmlspecialchars($data['sekolah_asal']) ?>"><br><br>
<input type="submit" value="Simpan Perubahan">
</form>
</body>
</html>
Kode diatas berfungsi untuk membuat form page yang akan mengubah data siswa pada row yang telah dipilih, logikanya menggunakan proses-edit.php
- Hasil kode saat dijalankan :
- Link repo github berisi source code :https://github.com/afelallaric/Tugas_Pweb_BackEnd.git
Komentar
Posting Komentar