5a. Pengenalan Database MySQL Dan Proses CRUD
5a. Pengenalan Database MySQL Dan Proses CRUD
DAFTAR ISI
1
Iyus Supriadi, S.T., M.T. – [email protected]
MATERI 5: PENGENALAN DATABASE MYSQL DAN PROSES CRUD
Struktur Database
Koding db.php
<?php
$host = "localhost";
$user = "root";
$password = "";
$database = "toko_online";
try {
$conn = new PDO("mysql:host=$host;dbname=$database", $user, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
2
Iyus Supriadi, S.T., M.T. – [email protected]
MATERI 5: PENGENALAN DATABASE MYSQL DAN PROSES CRUD
Koding read.php
<?php
require 'db.php';
$sql = "SELECT * FROM pelanggan";
$stmt = $conn->query($sql);
$pelanggan = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/css/bulma.min.css"/>
<div class="box">
<h1 class="title">Pelanggan</h1>
<table class="table">
<thead>
<tr>
<th>ID</th>
<th>Nama</th>
<th>Email</th>
<th>Umur</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php foreach ($pelanggan as $p): ?>
<tr>
<td><?= $p["id"] ?></td>
<td><?= $p["nama"] ?></td>
<td><?= $p["email"] ?></td>
<td><?= $p["umur"] ?></td>
<td>
<button class="button is-warning is-small "><a href="update.php?id=<?= $p['id']
?>">Edit</a></button>
3
Iyus Supriadi, S.T., M.T. – [email protected]
MATERI 5: PENGENALAN DATABASE MYSQL DAN PROSES CRUD
Koding create.php
<?php
require 'db.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$nama = $_POST["nama"];
$email = $_POST["email"];
$umur = $_POST["umur"];
$sql = "INSERT INTO pelanggan (nama, email, umur) VALUES (:nama, :email, :umur)";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':nama', $nama);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':umur', $umur);
4
Iyus Supriadi, S.T., M.T. – [email protected]
MATERI 5: PENGENALAN DATABASE MYSQL DAN PROSES CRUD
if ($stmt->execute()) {
// echo "Data berhasil ditambahkan!";
header('Location:read.php');
} else {
echo "Gagal menambahkan data.";
}
}
?>
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/css/bulma.min.css">
<div class="box">
<form method="POST">
<div class="field">
<label class="label">Name</label>
<div class="control">
<input class="input" type="nama" placeholder="Masukan Nama" name="nama"
required>
</div>
</div>
<div class="field">
<label class="label">Name</label>
<div class="control">
<input class="input" type="email" placeholder="Masukan Email" name="email"
required>
</div>
</div>
<div class="field">
<label class="label">Name</label>
<div class="control">
<input class="input" type="number" placeholder="Masukan Usia" name="umur"
required>
</div>
</div>
<button class="button is-primary is-small" type="submit">Tambah</button>
</form>
</div>
Apabila tombol tambah diklik makah akan tampil form sebagai berikut :
5
Iyus Supriadi, S.T., M.T. – [email protected]
MATERI 5: PENGENALAN DATABASE MYSQL DAN PROSES CRUD
Koding delete.php
<?php
require 'db.php';
if (isset($_GET["id"])) {
$id = $_GET["id"];
if ($stmt->execute()) {
// echo "Data berhasil dihapus!";
header('Location:read.php');
} else {
echo "Gagal menghapus data.";
}
}
?>
<a href="read.php">Kembali ke daftar</a>
6
Iyus Supriadi, S.T., M.T. – [email protected]
MATERI 5: PENGENALAN DATABASE MYSQL DAN PROSES CRUD
Koding update.php
<?php
require 'db.php';
if (isset($_GET["id"])) {
$id = $_GET["id"];
$stmt = $conn->prepare("SELECT * FROM pelanggan WHERE id = :id");
$stmt->bindParam(':id', $id);
$stmt->execute();
$pelanggan = $stmt->fetch(PDO::FETCH_ASSOC);
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$id = $_POST["id"];
$nama = $_POST["nama"];
$email = $_POST["email"];
$umur = $_POST["umur"];
$sql = "UPDATE pelanggan SET nama = :nama, email = :email, umur = :umur WHERE id =
:id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':nama', $nama);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':umur', $umur);
$stmt->bindParam(':id', $id);
if ($stmt->execute()) {
// echo "Data berhasil diperbarui!";
header('Location:read.php');
} else {
echo "Gagal memperbarui data.";
}
}
7
Iyus Supriadi, S.T., M.T. – [email protected]
MATERI 5: PENGENALAN DATABASE MYSQL DAN PROSES CRUD
?>
<form method="POST">
<input type="hidden" name="id" value="<?= $pelanggan["id"] ?>">
<label>Nama:</label>
<input type="text" name="nama" value="<?= $pelanggan["nama"] ?>" required><br>
<label>Email:</label>
<input type="email" name="email" value="<?= $pelanggan["email"] ?>" required><br>
<label>Umur:</label>
<input type="number" name="umur" value="<?= $pelanggan["umur"] ?>" required><br>
<button type="submit">Update</button>
</form>
8
Iyus Supriadi, S.T., M.T. – [email protected]