1.) Nyalakan XAMPP, dan jalankan 2 service yaitu Apache dan MySQL
2.) Setelah kedua service tersebut jalan buka browser dan ketikkan localhost/phpmyadmin
3.) Lalu pindah ke Menu SQL seperti pada gambar dibawah ini :
4. Lalu masukkan kode dibawah ini semuanya tanpa terkecuali :
-- Buat database
CREATE DATABASE IF NOT EXISTS crud_db;
-- Gunakan database
USE crud_db;
-- Buat tabel users
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
age INT NOT NULL
);
-- Masukkan beberapa data contoh
INSERT INTO users (name, email, age) VALUES ('John Doe', 'john.doe@example.com', 25);
INSERT INTO users (name, email, age) VALUES ('Jane Smith', 'jane.smith@example.com', 30);
INSERT INTO users (name, email, age) VALUES ('Bob Johnson', 'bob.johnson@example.com', 28);
5. Setelah memasukkan kode tersebut seharusnya, sudah terbentuk sebuah database baru bernama crud_db
6.) Buka VScode klik Open Folder dan arahkan ke file C:/xampp/htdocs/crud(Pastikan XAMPP sudah terinstall) dan jika belum membuat folder
crud didalam htdocs buat terlebih dahulu
7.) Lalu buat 5 file baru seperti ini didalam vscode dengan cara ( ada 4 ikon disamping tulisan CRUD, klik tulisan yang paling kiri)
8.) Lalu pada file koneksi.php masukkan kode dibawah ini :
<?php
$host = "localhost"; // Ganti dengan host database Anda
$user = "root"; // Ganti dengan username database Anda
$pass = ""; // Ganti dengan password database Anda
$dbname = "crud_db"; // Ganti dengan nama database Anda
// Buat koneksi
$conn = new mysqli($host, $user, $pass, $dbname);
// Check koneksi
if ($conn->connect_error) {
die("Koneksi gagal: " . $conn->connect_error);
}
?>
9.) Pada file index.php masukkan kode dibawah ini :
<?php
include 'koneksi.php';
// Fungsi untuk mendapatkan semua data
function get_users() {
global $conn;
$query = "SELECT * FROM users";
$result = $conn->query($query);
$users = [];
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
$users[] = $row;
}
}
return $users;
}
// Ambil data
$users = get_users();
?>
<!DOCTYPE html>
<html>
<head>
<title>CRUD PHP MySQLi</title>
</head>
<body>
<h1>Daftar Users</h1>
<a href="tambah.php">Tambah User Baru</a>
<table border="1">
<tr>
<th>ID</th>
<th>Nama</th>
<th>Email</th>
<th>Umur</th>
<th>Aksi</th>
</tr>
<?php foreach ($users as $user) { ?>
<tr>
<td><?php echo $user['id']; ?></td>
<td><?php echo $user['name']; ?></td>
<td><?php echo $user['email']; ?></td>
<td><?php echo $user['age']; ?></td>
<td>
<a href="edit.php?id=<?php echo $user['id']; ?>">Edit</a>
<a href="hapus.php?id=<?php echo $user['id']; ?>" onclick="return confirm('Apakah Anda yakin ingin menghapus data ini?')">Hapus</a>
</td>
</tr>
<?php } ?>
</table>
</body>
</html>
10.) Pada file tambah.php masukkan kode dibawah ini :
<?php
include 'koneksi.php';
// Fungsi untuk menambah data
function tambah_user($name, $email, $age) {
global $conn;
$name = $conn->real_escape_string($name);
$email = $conn->real_escape_string($email);
$age = (int)$age;
$query = "INSERT INTO users (name, email, age) VALUES ('$name', '$email', $age)";
$conn->query($query);
}
// Cek apakah form dikirim
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
$email = $_POST['email'];
$age = $_POST['age'];
tambah_user($name, $email, $age);
header("Location: index.php");
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Tambah User</title>
</head>
<body>
<h1>Tambah User Baru</h1>
<form method="POST" action="">
<label>Nama:</label><br>
<input type="text" name="name" required><br>
<label>Email:</label><br>
<input type="email" name="email" required><br>
<label>Umur:</label><br>
<input type="number" name="age" required><br><br>
<input type="submit" value="Tambah">
</form>
</body>
</html>
11.) Pada file edit.php tambahkan kode dibawah ini :
<?php
include 'koneksi.php';
// Fungsi untuk mendapatkan data berdasarkan ID
function get_user_by_id($id) {
global $conn;
$id = (int)$id;
$query = "SELECT * FROM users WHERE id = $id";
$result = $conn->query($query);
if ($result->num_rows > 0) {
return $result->fetch_assoc();
}
return null;
}
// Fungsi untuk mengedit data
function edit_user($id, $name, $email, $age) {
global $conn;
$id = (int)$id;
$name = $conn->real_escape_string($name);
$email = $conn->real_escape_string($email);
$age = (int)$age;
$query = "UPDATE users SET name='$name', email='$email', age=$age WHERE id = $id";
$conn->query($query);
}
// Cek apakah form dikirim
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$id = $_POST['id'];
$name = $_POST['name'];
$email = $_POST['email'];
$age = $_POST['age'];
edit_user($id, $name, $email, $age);
header("Location: index.php");
exit();
}
// Ambil data berdasarkan ID
if (isset($_GET['id'])) {
$user = get_user_by_id($_GET['id']);
if (!$user) {
die("User tidak ditemukan");
}
} else {
die("ID tidak diberikan");
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Edit User</title>
</head>
<body>
<h1>Edit User</h1>
<form method="POST" action="">
<input type="hidden" name="id" value="<?php echo $user['id']; ?>">
<label>Nama:</label><br>
<input type="text" name="name" value="<?php echo $user['name']; ?>" required><br>
<label>Email:</label><br>
<input type="email" name="email" value="<?php echo $user['email']; ?>" required><br>
<label>Umur:</label><br>
<input type="number" name="age" value="<?php echo $user['age']; ?>" required><br><br>
<input type="submit" value="Simpan">
</form>
</body>
</html>
12.) Pada kode hapus tambahkan kode dibawah ini :
<?php
include 'koneksi.php';
// Fungsi untuk menghapus data
function hapus_user($id) {
global $conn;
$id = (int)$id;
$query = "DELETE FROM users WHERE id = $id";
$conn->query($query);
}
// Cek apakah ID di-set dan valid
if (isset($_GET['id'])) {
$id = $_GET['id'];
hapus_user($id);
header("Location: index.php");
exit();
}
?>
13.) Jika sudah semua buka browser dan ketikkan localhost/crud maka akan tampil kode seperti dibawah ini :
0 Response to "Tutorial Membuat CRUD pada PHP dan MySQL"
Post a Comment