Selasa, 10 Juli 2018

Belajar PHP MySqli - CRUD Sederhana


بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Bismillahirrahmanirrahim

PHP MySqli - CRUD (Prosedural)

PHP atau PHP: Hypertext Preprocessor merupakan bahasa pemograman web yang digunakan untuk membuat website dinamis.
MySqli atau  MySQL Improved Extension merupakan versi terbaru dimana perbaikan dan penambahan fitur yang ada di MySql. Oke kita langsung ke pembelajaran pembuatan PHP MySQLi CRUD sederhana menggunakan methode Prosedural (untuk pemula).


Membuat database di Phpmyadmin 

Sebelum kita membuat PHP MySqli CRUD kita buat dulu sebuah database dengan nama php-mysqli(disesuaikan dengan koneksinya nanti) lalu membuat tabel dengan nama mahasiswa yang fieldnya sebagai berikut
Atau dengan cara memasukan query dibawah ini di tab SQL(Kalian bisa membuat manual dengan field seperti diatas atau copy paste script dibawah ini, PILIH SALAH SATU)

CREATE TABLE IF NOT EXISTS `mahasiswa` (
  `id_mahasiswa` int(11) NOT NULL AUTO_INCREMENT,
  `nama` varchar(30) NOT NULL,
  `motivasi` text NOT NULL,
  PRIMARY KEY (`id_mahasiswa`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
Jika di Structure sudah seperti gambar diatas, Database dan Tabel berhasil disedikan.

Membuat Koneksi PHP ke MySQL menggunakan MySQLi

Setelah kita membuat database dan tabelnya kita perlu file php untuk membuat koneksinya , dengan file tersebut kita bisa menghubungkan php dengan MySql, disini saya membuat file dengan nama koneksi.php
<?php
$hostdb = "localhost";
$userdb = "root";
$passdb = "";
$db = "php-mysqli";
$koneksi = mysqli_connect($hostdb, $userdb,$passdb,$db) or die(mysqli_error($koneksi));
?>

  • Pada contoh diatas kita menentukan nama servernya yaitu localhost, username di servernya adalah root dan passwordnya kosong (default dari mysqlnya, jika kalian sudah setting passwordnya maka masukan passwordnya didalam tanda kutip).
  • Di php sudah disediakan banyak extensi salah satunya adalah mysqli_connect , mysqli_connect berfungsi untuk menghubungkan atau membuka koneksi dengan mysql, jika koneksi dengan mysql sudah ada, kita dapat melakukan perintah insert, update, delete ke database dengan mudah. Tanpa koneksi ini kita tidak bisa melakukan perintah kedatabase jadi ini wajib ada :)
  • discript diatas saya menghubungkan koneksi sekalian memilih nama databasenya tapi kalian bisa memisahkan memilih databasenya. Jika ingin memilih database kalian bisa menggunakan extensi mysqli_select_db() . Jika mengikuti tutorial ini kita menghubungkan kedatabase sekalian memilih databasenya.


Membuat Menu Display atau View Data dari Database menggunakan MySQLi

Setelah kita membuat koneksi, kita akan belajar membuat view data, sebelum membuat view data pastikan kita memiliki field di tabel mahasiswa. Kita bisa menambahkan data di phpmyadmin terus pilih database kita pilih tabelnya (php-mysqli terus pilih mahasiswa) di atas ada tab INSERT kalian pilih lalu nanti akan ada kolom yang mesti kalian isi. atau cara singkatnya bisa menggunakan tab SQL dan copy paste script dibawah ini.
INSERT INTO `mahasiswa` (`id_mahasiswa`, `nama`, `motivasi`) VALUES
(4, 'aku', 'awan');
Buatlah sebuah file dengan nama misal lihat.php lalu isikan isinya dengan kodingan dibawah ini.
<?php
require_once("koneksi.php");
$query = "SELECT * FROM mahasiswa";
$queryact = mysqli_query($koneksi, $query);
?>
<html>
<head>
<title>Lihat Mahasiswa</title>
</head>
<body>
<center>
<a href="tambah.php">Tambah Mahasiswa</a>
<table border="1">
<caption>Daftar Mahasiswa</caption>
<thead>
<tr>
<th>NO</th>
<th>Nama</th>
<th>Motivasi</th>
<th>Kontrol</th>
</tr>
</thead>
<tbody>
<?php while ($q = mysqli_fetch_assoc($queryact)) {?>
<tr>
<td><?php echo $q['id_mahasiswa']; ?></td>
<td><?php echo $q['nama']; ?></td>
<td><?php echo $q['motivasi']; ?></td>
<td>
<a href="ubah.php?id=<?php echo $q['id_mahasiswa']; ?>">Ubah</a>
 -
<a href="hapus.php?id=<?php echo $q['id_mahasiswa']; ?>">Hapus</a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</center>
</body>
</html>

  • Dari script diatas kita dapat melihat bahwa untuk menampilkan data kita perlu membuka koneksi dengan mysql kita sisipkan file koneksi.php di atas dengan fungsi require_once("koneksi.php"); artinya sisipkan file koneksi.php sekali saja dan jika filenya tidak ada jangan jalankan script selanjutnya(dalam menyisipkan file ada banyak teknik bisa menggunakan include atau require).
  • dibaris selanjutnya $query = "SELECT * FROM mahasiswa"; saya membuat sebuah variable $query dimana variable tersebut berfungsi untuk menyimpan query perintah saya, perinta nya saya select semua yang ada di tabel mahasiswa.
  • di baris selanjutnya $queryact = mysqli_query($koneksi, $query); saya menjalankan query yang dibuat dengan perintah mysqli_query yang artinya eksekusi query yang telah saya buat.
  • Tanpa perintah atau extensi mysqli_query script tidak akan berjalan.
  • Untuk script HTMLnya mungkin kalian sudah paham, disini saya hanya mengguakan HTML biasa tanpa pengelolaan tampilan web yang lebih komplex supaya kalian mengerti. Untuk tanpilan kalian bisa sesuaikan dengan kodingan yang kalian buat. Disini saya hanya membua tabel dari HTML saja.
  • Lalu discript selanjutnya saya menyisipkan script php didalam script HTML dengan cara <?php while ($q = mysqli_fetch_assoc($queryact)) {?> , pastikan kalian membuat <?php beserta penutupnya ?> karena tanpa penutup scrip kalian bakalan error ikarenakan bercapur langsung dengan HTML
  • Arti script ini <?php while ($q = mysqli_fetch_assoc($queryact)) {?> adalah untuk pengulangan (pastikan kalian mengerti dasar dasar php seperti perulangan / pengulangan) disini juga ada extensi / fungsi mysqli_fetch_assoc() yang berfungsi untuk mengembalikan data MySQL hasil perintah yg dijalankan divariable $queryact yang dibentuk menjadi data array assoatif. dan While ini akan dijalankan sebanyak data yang ada. Jika tidak ada perulangan akan berhenti. Di variable $q sudah menyimpan data array yang isinya field dari tabel mahasiswa.
  • Setelah itu kita keluarkan datanya dengan cara <?php echo $q['id_mahasiswa']; ?> nah karena array kita memanggilnya seperti ini $q['']; dan didalam tanda kutif(id_mahasiswa) merupakan nama structure didatbase jadi pastikan sama supaya tidak terjadi error. Untuk perintah selanjutnya sama saja.
  • Kita akan bahas perintah ubah <a href="ubah.php?id=<?php echo $q['id_mahasiswa']; ?>">Ubah</a> kenapa ada link dan hanya mengeluarkan <?php echo $q['id_mahasiswa']; ?>.
  • Kita akan bahas sekalian fitur hapusnya karena kedua script sama saja. Dikarena kita akan mengubah dan menghapus suatu data kita harus tau identitas unik sebuah data apa, karena didatabase kita membuat sebuah structure dan id_mahasiswa kita jadikan primary_key berarti data unik di tabel mahasiswa adalah id_mahasiswa yang mana data unik adalah data yang tidak mungkin ada yang sama memilikinya atau duplikat data (pastikan kalian sudah paham dengan SQL dasar dan tentang primary_key). Sehingga kita butuh id_mahasiswa untuk melakukan hapus data maupun update data.
  • Dan terakhir penutup sebuah perulangan <?php } ?>

Hasilnya

Membuat Menu dan Insert data ke Database menggunakan MySQLi

Buatlah sebuah file semisal namanya tambah.php, lalu masukan script dibawah ini kedalam file tambah.php
<?php
if (isset($_POST['submit'])) {
require_once("koneksi.php");
$nama = $_POST['nama'];
$motivasi = $_POST['motivasi'];
$query = "INSERT INTO mahasiswa(nama,motivasi) VALUE ('$nama','$motivasi')";
$queryact = mysqli_query($koneksi, $query);
}
?>
<html>
<head>
<title>Tambah Mahasiswa - Mahasiswa</title>
</head>
<body style="padding-left: 300px;">
<form action="" method="POST">
<label>Nama Mahasiswa</label><br>
<input type="text" placeholder="Nama Mahasiswa" name="nama" required /></br><br>
<label>Motivasi</label><br>
<textarea rows="4" cols="50" name="motivasi"></textarea><br><br>
<input type="submit" value="Tambah" name="submit" />
<button href="lihat.php">Kembali</button>
</form>
</body>
</html>
Disini saya akan jelaskan beberapa script saja, untuk codingan yang sudah saya jelaskan akan saya skip.

  • perintah if (isset($_POST['submit'])) { berfungsi untuk mengecek apakah data divariable $_POST['submit']; ada datanya atau tidak kalau ada jalankan perintah didalam { } kalau tidak ada perintah yang didalamnyanya tidak akan dieksekusi. dan perintah dalamnya akan dieksekusi jika tombol submit / tambah ditekan.
  • Disini ada sebuah variable $_POST['nama']; yang mana itu adalah sebuah variable untuk mengambil data inputan user yang menggunakan method POST . Tau methodnya POST atau GET kalian bisa lihat <form action="" method="POST"> disitu tertulis methodnya adalah post dan untuk nama yang ada dalam kurung [''] ada lah sebuah name dari inputan user <input type="text" placeholder="Nama Mahasiswa" name="nama" required /> karena name nya kita kasih nama 'nama' jadi variablenya $_POST['nama'];.
  • Untuk selanjutnya seperti biasa sebuah variable yang menampung query dan sebuah variable yang mengeksekusi query tersebut.

Hasilnya:

Membuat Menu Edit atau Update ke Database menggunakan MySQLi

Membuat menu edit sama saja dengan menu tambah data saja yang membedakan kita harus memanggil data berdasarkan id yang unik tadi lalu ditampilkan di dalam inputan user.
Dan ketika user mengklik submit ubah sistem akan mengupdate data Sesuai dengan permintaan user.
Langsung saja ita buat sebuah file dengan nama ubah.php lalu isinya sebagai berikut
<?php
require_once("koneksi.php");
$id = $_GET['id'];
if (!isset($_GET['id'])) {
header("Location: lihat.php");
}
if (isset($_POST['submit'])) {
$nama = $_POST['nama'];
$motivasi = $_POST['motivasi'];
$query = "UPDATE mahasiswa SET nama = '$nama', motivasi = '$motivasi' WHERE id_mahasiswa = $id";
$queryact = mysqli_query($koneksi, $query);
}
$query = "SELECT * FROM mahasiswa WHERE id_mahasiswa=$id";
$queryact = mysqli_query($koneksi, $query);
?>
<html>
<head>
<title>Ubah Mahasiswa - Mahasiswa</title>
</head>
<body style="padding-left: 300px;">
<form action="" method="POST">
<?php while ($q = mysqli_fetch_assoc($queryact)) {?>
<label>Nama Mahasiswa</label><br>
<input type="text" placeholder="Nama Mahasiswa" name="nama" value="<?= $q['nama']; ?>" required /></br><br>
<label>Motivasi</label><br>
<textarea rows="4" cols="50" name="motivasi"><?= $q['motivasi']; ?></textarea><br><br>
<?php } ?>
<input type="submit" value="Ubah" name="submit" />
<a href="lihat.php">Kembali</a>
</form>
</body>
</html>
Karena scriptnya hampir sama dengan kebanyakan yang saya ulas sebelumnya maka saya tidak banyak untuk menjelaskan pada bagian ini
Kalian bisa membaca bari kode diatas untuk memahaminya, jika masih bingsung bisa menanyakan ke saya melalui grup Facebook Awan Coder.

Hasilnya:

Membuat Hapus data di database Menggunakan MySQLi

Selanjutnya kita akan membuat hapus data , kita buat dulu file bernama hapus.php , isi dari filenya seperti berikut
<?php
require_once("koneksi.php");
$id = $_GET['id'];
$query = "DELETE FROM mahasiswa WHERE id_mahasiswa = '$id'";
$queryact = mysqli_query($koneksi, $query);
header("Location: lihat.php");
?>
Karena untuk hapus data tidak menggunakan tampilan jadi scriptnya sangat sederhana, $id = $_GET['id']; disini saya membuat sebuah varibale $id yang menampung data dari METHOD GET.
sedangkan header("Location: lihat.php"); berfungsi untuk pindah halaman ke lihat.php , jika semua script dieksekusi pindah halaman ke lihat.php.

Download

DOWNLOAD
Sekian, Terimakasih :)

Keyword: Belajar PHP MySQLi, Belajar CRUD PHP, PHP CRUD, Tutorial PHP MySQLi CRUD bahasa indonesia, belajar membat web dinamis sederhana

Load disqus comments

0 komentar