Cara membuat CRUD PHP dan MySQL Sangat Sederhana

1. Membuat Tabel Database di MySQL

Langkah pertama dari cara membuat CRUD dengan PHP yang harus Anda lakukan adalah membuat tabel database di MySQL. Anda bisa menyalin kode di bawah ini untuk melakukannya:

CREATE TABLE pengguna (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
nama_awal VARCHAR(100) NOT NULL,
nama_akhir VARCHAR(100) NOT NULL,
email VARCHAR(255) NOT NULL,
nomor_telepon VARCHAR(15) NOT NULL,
alamat VARCHAR(255) NOT NULL
);

Database ini akan menjadi database CRUD MySQL dan PHP Anda nantinya. Jangan lupa mengeceknya kembali agar tidak sampai salah.

2. Membuat Config File

Setelah membuat tabel, langkah kedua dari cara membuat CRUD dengan PHP dan MySQL adalah: membuat koneksi untuk menghubungkan ke server database CRUD MySQL. Buatlah file dengan nama “config.php” dan tempatkan kode di bawah ini ke dalamnya.

<?php
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_NAMA', 'php_crud');
$conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAMA);
if ($conn === false) {
die("ERROR: Could not connect. " . mysqli_connect_error());
}
?>

Kita akan membuat koneksi ini di halaman lain dengan menggunakan fungsi PHP require_once() untuk membuat CRUD PHP dan MySQL Anda bekerja.

3. Membuat Landing Page

Cara membuat CRUD dengan PHP dan MySQL yang ketiga itu kita akan membuat landing page untuk pengoperasian CRUD di mana, landing page ini yang akan menunjukkan catatan pengguna sebagai tampilan kisi. Kami juga memperbarui edit, melihat, dan menghapus ikon di atasnya.

Membuat halaman arahan kami menambahkan file bernama “index.php” di raw folder  kami dan memasukkan kode berikut di dalamnya.

<?php
// Membuat koneksi database menggunakan config file
include_once("config.php");
// Keluarkan semua data pengguna dari database
$result = mysqli_query($mysqli, "SELECT * FROM users ORDER BY id DESC");
?>
<html>
<head>
<title>Homepage</title>
</head>
<body>
<a href="add.php">Add New User</a><br/><br/>
<table width='80%' border=1>
<tr>
<th>Nama</th> <th>Telepon</th> <th>Email</th> <th>Update</th>
</tr>
<?php
while($user_data = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>".$user_data['nama']."</td>";
echo "<td>".$user_data['telepon']."</td>";
echo "<td>".$user_data['email']."</td>";
echo "<td><a href='edit.php?id=$user_data[id]'>Edit</a> | <a href='delete.php?id=$user_data[id]'>Delete</a></td></tr>";
}
?>
</table>
</body>
</html>

Anda bisa menambahkan beberapa test data yang terhubung langsung dengan tabel database Anda dan setelahnya Anda dapat melihat pengguna Anda melakukan listing untuk membuat CRUD PHP dan MySQL Anda.

4. Membuat Halaman Create

Langkah keempat Anda harus membangun aplikasi CRUD dan membuat fungsionalitasnya. Fungsionalitas pertama yang kita buat adalah Create.  Kita akan membuatnya dengan kode-kode di bawah ini. Buatlah sebuah file baru dengan nama “create.php” dan kita dapat menambahkan kode di dalamnya.

<?php
require 'database.php';
if ( !empty($_POST)) {
// keep track validation errors
$namaError = null;
$emailError = null;
$teleponError = null;
// keep track post values
$nama = $_POST['name'];
$email = $_POST['email'];
$telepon = $_POST['mobile'];
// validate input
$valid = true;
if (empty($name)) {
$namaError = 'Masukan nama Anda';
$valid = false;
}
if (empty($email)) {
$emailError = 'Masukan alamat email Anda';
$valid = false;
} else if ( !filter_var($email,FILTER_VALIDATE_EMAIL) ) {
$emailError = 'Masukan alamat email yang valid';
$valid = false;
}
if (empty($telepon)) {
$teleponError = 'Masukkan nomor telepon Anda';
$valid = false;
}
// insert data
if ($valid) {
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO customers (nama,email,telepon) values(?, ?, ?)";
$q = $pdo->prepare($sql);
$q->execute(array($nama,$email,$telepon));
Database::disconnect();
header("Location: index.php");
}
}
?>

Seperti yang Anda lihat, pertama-tama kpde tersebut memeriksa apakah ada formulir yang dikirim dengan memeriksa variabel $_POST. Jika demikian, kami memeriksa setiap entri untuk memastikan mereka tidak kosong.

Selain itu untuk entri alamat email, kami menggunakan filter PHP untuk memverifikasi apakah itu alamat email yang valid. Kemudian jika melewati semua aturan validasi, itu memasukkan data ke database menggunakan kelas Database. Akhirnya akan dialihkan ke “index.php” menggunakan fungsi PHP header(). Namun jika ada kesalahan validasi, variabel validasi akan ditampilkan dalam formulir.

5. Membuat Halaman Read

Buatlah file PHP dan beri nama read.php. File ini adalah bagian “Read” dari kisi CRUD. Dibandingkan dengan bagian “Create”, langkah ini cukup mudah. Salin kode di bawah ini ke file dan kami akan menjelaskannya setelahnya.

<?php
require 'database.php';
$id = null;
if ( !empty($_GET['id'])) {
$id = $_REQUEST['id'];
}
if ( null==$id ) {
header("Location: index.php");
} else {
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM customers where id = ?";
$q = $pdo->prepare($sql);
$q->execute(array($id));
$data = $q->fetch(PDO::FETCH_ASSOC);
Database::disconnect();
}
?>
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="utf-8">
<link href="css/bootstrap.min.css" rel="stylesheet">
<script src="js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<div class="span10 offset1">
<div class="row">
<h3>Baca seorang Pelanggan</h3>
</div>
<div class="form-horizontal" >
<div class="control-group">
<label class="control-label">Nama</label>
<div class="controls">
<label class="checkbox">
<?php echo $data['nama'];?>
</label>
</div>
</div>
<div class="control-group">
<label class="control-label">Email Address</label>
<div class="controls">
<label class="checkbox">
<?php echo $data['email'];?>
</label>
</div>
</div>
<div class="control-group">
<label class="control-label">Mobile Number</label>
<div class="controls">
<label class="checkbox">
<?php echo $data['telepon'];?>
</label>
</div>
</div>
<div class="form-actions">
<a class="btn" href="index.php">Back</a>
</div>
</div>
</div>
</div> <!-- /container -->
</body>
</html>

Lihatlah bagian awal dari kode PHP. Apa yang dilakukannya adalah, ia mencoba mengalokasikan variabel $_GET[‘id’]. Jika tidak ditemukan, akan dialihkan ke halaman “index.php”. Jika tidak, ia akan membaca data dari database menggunakan bidang “id” dan menyimpan data ke dalam variabel PHP $data.

6. Membuat Halaman Update

Sama dengan membuat fungsi kita akan membuat fungsionalitas  update untuk aplikasi CRUD yang kita buat. Namai file dengan “update.php” dan masukkan kode di bawah ini ke dalamnya. Kode ini pun akan memperbarui record yang ada yang kita ingin ada perbaruan.

Bagian pertama dari kode untuk membuat Update:

<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="utf-8">
<link href="css/bootstrap.min.css" rel="stylesheet">
<script src="js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<div class="span10 offset1">
<div class="row">
<h3>Update seorang Pelanggan</h3>
</div>
<form class="form-horizontal" action="update.php?id=<?php echo $id?>" method="post">
<div class="control-group <?php echo !empty($nameError)?'error':'';?>">
<label class="control-label">Name</label>
<div class="controls">
<input nama="nama" type="text" placeholder="Nama" value="<?php echo !empty($nama)?$nama:'';?>">
<?php if (!empty($namaError)): ?>
<span class="help-inline"><?php echo $nameError;?></span>
<?php endif; ?>
</div>
</div>
<div class="control-group <?php echo !empty($emailError)?'error':'';?>">
<label class="control-label">Email Address</label>
<div class="controls">
<input name="email" type="text" placeholder="Email Address" value="<?php echo !empty($email)?$email:'';?>">
<?php if (!empty($emailError)): ?>
<span class="help-inline"><?php echo $emailError;?></span>
<?php endif;?>
</div>
</div>
<div class="control-group <?php echo !empty($teleponError)?'error':'';?>">
<label class="control-label">Nomor Telepon</label>
<div class="controls">
<input name="telepon" type="text" placeholder="Nomor Telepom" value="<?php echo !empty($mobile)?$mobile:'';?>">
<?php if (!empty($teleponError)): ?>
<span class="help-inline"><?php echo $teleponError;?></span>
<?php endif;?>
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-success">Update</button>
<a class="btn" href="index.php">Back</a>
</div>
</form>
</div>
</div> <!-- /container -->
</body>
</html>

Bagian kedua kode:

<?php
require 'database.php';
$id = null;
if ( !empty($_GET['id'])) {
$id = $_REQUEST['id'];
}
if ( null==$id ) {
header("Location: index.php");
}
if ( !empty($_POST)) {
// keep track validation errors
$namaError = null;
$emailError = null;
$teleponError = null;
// keep track post values
$nama = $_POST['nama'];
$email = $_POST['email'];
$telepon = $_POST['telepon'];
// validate input
$valid = true;
if (empty($nama)) {
$nameError = 'Masukkan nama Anda';
$valid = false;
}
if (empty($email)) {
$emailError = 'Masukkan alamat email Anda';
$valid = false;
} else if ( !filter_var($email,FILTER_VALIDATE_EMAIL) ) {
$emailError = 'Masukkan alamat email yang valid';
$valid = false;
}
if (empty($telepon)) {
$mobileError = 'Masukkan nomor telepon Anda';
$valid = false;
}
// update data
if ($valid) {
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "UPDATE customers set nama = ?, email = ?, telepon =? WHERE id = ?";
$q = $pdo->prepare($sql);
$q->execute(array($nama,$email,$telepon,$id));
Database::disconnect();
header("Location: index.php");
}
} else {
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM customers where id = ?";
$q = $pdo->prepare($sql);
$q->execute(array($id));
$data = $q->fetch(PDO::FETCH_ASSOC);
$name = $data['nama'];
$email = $data['email'];
$mobile = $data['telepon'];
Database::disconnect();
}
?>

Seperti yang Anda lihat, pertama-tama kami memeriksa apakah ada formulir yang dikirim dengan memeriksa variabel $_POST. Jika demikian, kami memeriksa setiap entri untuk memastikan mereka lulus aturan validasi, setelah itu memperbarui database menggunakan data $_POST.
Akhirnya akan dialihkan ke “index.php” menggunakan fungsi PHP header(). Di sisi lain, ini adalah permintaan $_GET, itu akan mengambil catatan data dari database.

7. Membuat Halaman Delete

Ini adalah fungsionalitas terakhir dalam aplikasi CRUD. Buatlah file dengan nama “delete.php”. Salin kode di bawah ini:

<?php
require 'database.php';
$id = 0;
if ( !empty($_GET['id'])) {
$id = $_REQUEST['id'];
}
if ( !empty($_POST)) {
// keep track post values
$id = $_POST['id'];
// delete data
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "DELETE FROM pelanggan WHERE id = ?";
$q = $pdo->prepare($sql);
$q->execute(array($id));
Database::disconnect();
header("Location: index.php");
}
?>
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="utf-8">
<link href="css/bootstrap.min.css" rel="stylesheet">
<script src="js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<div class="span10 offset1">
<div class="row">
<h3>Hapus seorang Pelanggan</h3>
</div>
<form class="form-horizontal" action="delete.php" method="post">
<input type="sembunyikan" nama="id" value="<?php echo $id;?>"/>
<p class="alert alert-error">Are you sure to delete ?</p>
<div class="form-actions">
<button type="submit" class="btn btn-danger">Yes</button>
<a class="btn" href="index.php">No</a>
</div>
</form>
</div>
</div> <!-- /container -->
</body>
</html>

Mari kita lihat bagian awal dari kode PHP. Awalnya, ia menangkap $id dari permintaan $_GET. Setelah permintaan $_GET ditentukan. Kode di atas akan menunjukkan halaman konfirmasi.

Jika permintaan $_POST terdeteksi, ini menunjukkan bahwa pengguna telah mengklik tombol konfirmasi “Ya”. Kemudian akan melanjutkan untuk menghapus data record dan mengarahkan ke halaman “index.php”.

Itulah langkah mudah membuat aplikasi CRUD MySQL dan PHP. Cara ini adalah cara dasar yang bisa Anda lakukan. Anda bisa mengedit kode-kode di atas sesuai dengan keinginan Anda agar CRUD MySQL dan PHP Anda dapat berjalan sesuai keinginan Anda. Jangan lewatkan artikel terbaru dari blog SMK Hasan Kafrawi

Comments

Popular posts from this blog

Soal pilihan ganda dan essay pemrograman web dan perangkat bergerak

Soal PBO Pilihan Ganda dan Essay SMT 19

SOAL PEMROGRAMAN BERORIENTASI OBJEK (PBO) kelas 12