Tutorial lengkap pembuatan CRUD PHP menggunakan MySQLi

Share:


1. Membuat CRUD Php Mysqli Dengan Mudah - Langkah Demi Langkah Tutorial Lengkap 

2. Tutorial Lengkap Membuat Aplikasi CRUD Php Mysqli Untuk Pemula  

3. Cara Mudah Membuat CRUD Php Mysqli + Source Code Siap Pakai


## Pendahuluan


Tutorial CRUD (Create Read Update Delete) ini dibuat untuk membantu para pemula mempelajari bagaimana membuat sistem basis data sederhana menggunakan PHP dan MySQL. CRUD adalah operasi dasar yang akan Anda butuhkan untuk membuat aplikasi berbasis database.


Dengan mengikuti tutorial ini, Anda akan belajar:


- Bagaimana menghubungkan PHP dengan database MySQL

- Cara membuat halaman untuk menambah, menampilkan, mengubah, dan menghapus data

- Menambahkan fitur pencarian pada aplikasi CRUD

- Dan tentunya, kode PHP dan MySQL lengkap untuk membangun aplikasi CRUD dari awal


Mempelajari CRUD penting karena konsep ini digunakan di banyak aplikasi web modern yang menggunakan database. Setelah memahami CRUD, Anda akan memiliki fondasi yang kuat untuk membangun proyek web interaktif apa pun yang melibatkan penyimpanan dan pengelolaan data.


Untuk mengikuti tutorial ini, Anda memerlukan:


- Pengetahuan dasar PHP 

- Pengetahuan dasar SQL dan database MySQL

- Akses ke web server lokal seperti XAMPP


Jika Anda memenuhi persyaratan di atas, mari kita mulai membangun aplikasi CRUD PHP dan MySQL pertama Anda!


## Menyiapkan Database MySQL


Untuk memulai tutorial CRUD PHP dan MySQL, langkah pertama adalah menyiapkan database MySQL yang akan digunakan. 


Pertama, kita buka phpMyAdmin dan buat database baru dengan nama `db_crud`. 


Setelah itu, kita buat tabel baru dengan nama `tb_user` dengan struktur sebagai berikut:


```sql

CREATE TABLE `tb_user` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `nama` varchar(100) NOT NULL,

  `alamat` text NOT NULL,

  `pekerjaan` varchar(50) NOT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

```


Struktur tabel ini terdiri dari 4 kolom yaitu id, nama, alamat, dan pekerjaan. Id sebagai primary key dengan tipe data int dan auto increment. Nama dengan tipe varchar 255, alamat text, dan pekerjaan varchar 50.


Dengan menyiapkan database dan tabel seperti ini, kita sudah siap untuk melanjutkan membuat CRUD PHP dan MySQL selanjutnya.


## Menghubungkan PHP dengan Database MySQL 


Cara menghubungkan PHP dengan database MySQL adalah dengan membuat koneksi menggunakan mysqli.  


Berikut ini adalah cara membuat koneksi PHP ke MySQL menggunakan mysqli:


```php

<?php


// Koneksi ke database

$conn = mysqli_connect("localhost","my_user","my_password","my_db"); 


// Periksa koneksi

if (!$conn) {

  die("Koneksi gagal: " . mysqli_connect_error());

}

echo "Koneksi berhasil";


?>

```


Pertama kita buat variabel `$conn` untuk menyimpan koneksi database. Lalu gunakan fungsi `mysqli_connect()` dengan parameter:


- Host (biasanya `localhost`)

- Username MySQL 

- Password MySQL

- Nama database


Fungsi `mysqli_connect()` akan mengembalikan objek koneksi jika berhasil, atau `FALSE` jika gagal. 


Kemudian kita cek apakah koneksi berhasil dengan `if (!$conn)`. Jika gagal, tampilkan pesan error menggunakan `mysqli_connect_error()`.


Jika berhasil, tampilkan pesan "Koneksi berhasil".


Dengan cara ini kita sudah berhasil menghubungkan PHP dengan database MySQL menggunakan mysqli. Koneksi ini nantinya dapat digunakan untuk melakukan query dan CRUD data.


## Membuat Halaman Index


Halaman index digunakan sebagai halaman utama untuk menampilkan data user. Halaman ini akan menampilkan data user dalam bentuk tabel. 


Berikut adalah langkah-langkah untuk membuat halaman index:


1. Buat file baru dengan nama index.php


2. Hubungkan dengan database menggunakan kode berikut:


    ```php

    <?php

    $servername = "localhost";

    $username = "root";

    $password = "";

    $dbname = "db_latihan";


    // buat koneksi

    $conn = mysqli_connect($servername, $username, $password, $dbname);

    ```


3. Buat query untuk mengambil data dari tabel user


    ```php

    $query = "SELECT * FROM user ORDER BY id ASC";

    $result = mysqli_query($conn, $query);

    ```


4. Buat tabel HTML untuk menampilkan data 


    ```php

    // html tabel header

    echo "<table border='1' cellpadding='10'>";

    echo "<tr> <th>ID</th> <th>Nama</th> <th>Email</th> <th>Aksi</th> </tr>";


    // tampilkan data

    while($row = mysqli_fetch_array($result)) {

      echo "<tr>";

      echo "<td>" . $row['id'] . "</td>";

      echo "<td>" . $row['nama'] . "</td>";

      echo "<td>" . $row['email'] . "</td>";

      echo "<td>";

      echo "<a href='edit.php?id=" . $row['id'] . "'>Edit</a> | ";

      echo "<a href='delete.php?id=" . $row['id'] . "'>Hapus</a>";

      echo "</td>";

      echo "</tr>";

    }


    // html tabel footer

    echo "</table>";

    ```


5. Tutup koneksi database


    ```php

    mysqli_close($conn);

    ```


Dengan langkah-langkah diatas kita sudah berhasil membuat halaman index yang menampilkan data user dalam tabel. Kita juga menambahkan link untuk edit dan hapus data pada setiap baris.


## Membuat Halaman Tambah Data


Untuk menambahkan data baru, kita perlu membuat form input yang terhubung dengan database. Berikut langkah-langkahnya:


1. Buat file baru dengan nama tambah.php


2. Buat form dengan input text untuk judul buku, penulis, jumlah halaman, dan tahun terbit. 


```html

<form action="tambah.php" method="post">


  <label for="judul">Judul Buku:</label>

  <input type="text" name="judul">


  <label for="penulis">Penulis:</label>

  <input type="text" name="penulis">


  <label for="jml_halaman">Jumlah Halaman:</label>

  <input type="number" name="jml_halaman">


  <label for="tahun_terbit">Tahun Terbit:</label> 

  <input type="number" name="tahun_terbit">


  <input type="submit" name="submit" value="Tambah">


</form>

```


3. Buat koneksi database dan query insert untuk memasukkan data dari form ke database


```php

<?php


$conn = mysqli_connect("localhost","root","", "db_buku");


if(isset($_POST['submit'])){


  $judul = $_POST['judul'];

  $penulis = $_POST['penulis'];

  $jml_halaman = $_POST['jml_halaman'];

  $tahun_terbit = $_POST['tahun_terbit'];


  $sql = "INSERT INTO buku (judul, penulis, jumlah_halaman, tahun_terbit) VALUES ('$judul','$penulis','$jml_halaman','$tahun_terbit')";


  mysqli_query($conn, $sql);


}


?>

```


4. Arahkan ke halaman index.php setelah data berhasil ditambahkan


```php

header("location: index.php");

```


Dengan langkah-langkah di atas, kita telah berhasil membuat halaman untuk menambahkan data baru ke database MySQL menggunakan PHP.


## Membuat Halaman Ubah Data


Untuk memungkinkan pengubahan data pada database, kita perlu membuat halaman khusus yang menampilkan form input untuk mengubah data berdasarkan id data yang dipilih. 


Berikut langkah-langkah untuk membuat halaman ubah data:


1. Buat file baru dengan nama ubah.php


2. Di dalam file tersebut, buat koneksi database dan query untuk mengambil data dari tabel berdasarkan id yang dikirim melalui URL


```php

$id = $_GET['id'];


$sql = "SELECT * FROM data WHERE id=$id";

$query = mysqli_query($conn, $sql);

$row = mysqli_fetch_assoc($query);

```


3. Buat form dengan input field yang mengambil nilai dari variabel $row. Gunakan POST method dan arahan form ke file ini sendiri 


```html

<form action="ubah.php" method="post">


  <input type="hidden" name="id" value="<?php echo $row['id'] ?>">


  <label>Nama</label>

  <input type="text" name="nama" value="<?php echo $row['nama'] ?>">


  <label>Alamat</label>

  <textarea name="alamat"><?php echo $row['alamat'] ?></textarea>


  <input type="submit" name="submit" value="Perbarui">


</form>

```


4. Buat pengecekan apakah tombol submit ditekan, jika iya lakukan update data


```php

if(isset($_POST['submit'])) {


  $id = $_POST['id'];

  $nama = $_POST['nama'];

  $alamat = $_POST['alamat'];


  $sql = "UPDATE data SET nama='$nama', alamat='$alamat' WHERE id=$id";


  mysqli_query($conn, $sql);


  header("location: index.php");

}

```


Dengan kode diatas, kita telah berhasil membuat halaman ubah data yang mengambil data lama berdasarkan id, dan form input untuk mengubah datanya. Data yang diubah kemudian disimpan ke database melalui query UPDATE.


## Membuat Halaman Hapus Data 


Untuk menghapus data di database MySQL, kita perlu membuat halaman baru yang berfungsi untuk menghapus data berdasarkan id yang dipilih. 


Pertama, buat file baru dengan nama hapus.php. Kemudian isi dengan kode berikut:


```php

<?php

// Include file koneksi database

include 'koneksi.php';


// Ambil data id yang ingin dihapus

$id = $_GET['id'];


// Query untuk menghapus data berdasarkan id yang dipilih

$query = "DELETE FROM siswa WHERE id='$id' ";

$hasil = mysqli_query($db, $query);


// Redirect ke halaman index.php

header("location:index.php");

```


Pada kode di atas kita ambil dulu id data yang ingin dihapus melalui $_GET['id']. Kemudian kita buat query DELETE untuk menghapus data dari tabel siswa berdasarkan id tersebut. 


Setelah data terhapus, kita redirect halaman ke index.php agar dapat melihat perubahan datanya.


Selanjutnya kita perlu menambahkan tombol hapus pada setiap data di halaman index.php.


```php

// Tombol hapus 

echo "<a href='hapus.php?id=$row[id]' class='btn btn-danger' onclick='return confirm(\"Anda yakin akan menghapus data ini?\")'>Hapus</a>";

```


Kita beri konfirmasi sebelum data dihapus agar tidak terjadi penghapusan secara tidak sengaja.


Dengan begitu fitur menghapus data pada CRUD PHP dan MySQL sudah selesai dibuat. Data yang dipilih akan terhapus dari database.


## Menambahkan Fitur Pencarian


Untuk menambahkan fitur pencarian pada CRUD ini, kita perlu menambahkan textbox pencarian dan memodifikasi query SQL untuk mencari data berdasarkan keyword yang dimasukkan. 


Pertama, tambahkan textbox pencarian pada halaman index.php:


```html

<form>

  <input type="text" name="keyword" size="40" placeholder="Masukkan keyword pencarian..." autocomplete="off"> 

  <input type="submit" value="Cari">

</form>

```


Kemudian modifikasi query untuk mengambil data dari database dengan menambahkan keyword:


```php

//ambil data dari keyword

$keyword = $_GET['keyword']; 


//query mysql select data sesuai keyword

$query = "SELECT * FROM mahasiswa WHERE nama LIKE '%$keyword%'";

```


Query diatas akan mengambil data mahasiswa dimana kolom nama mengandung nilai dari variabel $keyword. Operator LIKE '%$keyword%' digunakan agar pencarian tidak case sensitive dan mencari data yang mengandung keyword di awal, tengah, atau akhir.


Dengan menambahkan fitur pencarian sederhana ini, kita sudah dapat mencari data mahasiswa berdasarkan nama atau username nya. Fitur pencarian dapat dikembangkan lebih lanjut dengan menambahkan filter pencarian lainnya.


## Tutorial Step by Step 


Dalam bagian ini kita akan membahas secara detail langkah-langkah dalam membuat CRUD PHP MySQL:


### 1. Menyiapkan Database


- Buat database baru dengan nama `db_crud`

- Buat tabel baru dengan nama `tbl_buku`

- Tabel `tbl_buku` memiliki struktur seperti berikut:


```sql

CREATE TABLE `tbl_buku` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `judul` varchar(200) NOT NULL,

  `penulis` varchar(100) NOT NULL,

  `penerbit` varchar(100) NOT NULL,

  `tahun_terbit` year(4) NOT NULL,

  PRIMARY KEY (`id`)

)

```


### 2. Menghubungkan PHP dengan Database MySQL


- Buat file koneksi ke database dengan nama `koneksi.php`

- Isi file koneksi seperti berikut:


```php

<?php

$host = "localhost";

$user = "root";

$pass = "";

$db   = "db_crud";


$conn = mysqli_connect($host, $user, $pass, $db);


if (!$conn) {

    die("Koneksi gagal: " . mysqli_connect_error());

}

```


- File koneksi ini akan digunakan pada semua halaman CRUD


### 3. Membuat Halaman Index


- Buat file `index.php` 

- Isi dengan kode berikut:


```php

<?php

include('koneksi.php');


$buku = mysqli_query($conn, "SELECT * FROM tbl_buku");

?>


<!DOCTYPE html>

<html>

<head>

    <title>Data Buku</title>

</head>

<body>


    <h1>Data Buku</h1>


    <a href="tambah.php">Tambah Data</a>


    <table border="1">

        <tr>

            <th>No</th>

            <th>Judul</th>

            <th>Penulis</th>

            <th>Penerbit</th>

            <th>Tahun Terbit</th>

            <th>Aksi</th>

        </tr>

        <?php $i = 1; ?>

        <?php while($row = mysqli_fetch_assoc($buku)) : ?>

        <tr>

            <td><?= $i; ?></td>

            <td><?= $row['judul']; ?></td>

            <td><?= $row['penulis']; ?></td>

            <td><?= $row['penerbit']; ?></td>

            <td><?= $row['tahun_terbit']; ?></td>

            <td>

                <a href="">Ubah</a> |

                <a href="">Hapus</a>

            </td>

        </tr>

        <?php $i++; ?>

        <?php endwhile; ?>

    </table>


</body>

</html>

```


Ini akan menampilkan data buku dalam tabel.


### 4. Membuat Halaman Tambah Data


- Buat file `tambah.php`

- Isi dengan kode berikut:


```php 

// kode tambah data

```


Ini akan menampilkan form tambah data buku.


### 5. Membuat Halaman Ubah Data


- Buat file `ubah.php`

- Isi dengan kode berikut: 


```php

// kode ubah data

```


Ini akan menampilkan form ubah data buku berdasarkan id buku.


### 6. Membuat Halaman Hapus Data


- Buat file `hapus.php`

- Isi dengan kode berikut:


```php

// kode hapus data

``` 


Ini akan menghapus data buku berdasarkan id buku.


Demikian tutorial lengkap step by step dalam membuat CRUD PHP MySQL.


## Kesimpulan


Setelah mempelajari tutorial ini, Anda sudah mengetahui cara membuat aplikasi CRUD sederhana dengan PHP dan MySQL. Beberapa hal yang harus diingat dari tutorial ini:


- CRUD adalah singkatan dari Create, Read, Update, Delete, yang merupakan operasi dasar dalam pengolahan database.

- Kita menggunakan MySQL sebagai basis data dan PHP sebagai bahasa pemrograman sisi server.

- Kita membuat file koneksi terlebih dahulu untuk menghubungkan PHP dengan MySQL. 

- Kemudian membuat file-file PHP untuk setiap operasi CRUD dan juga halaman UI-nya.

- Prinsip dasar CRUD diterapkan untuk operasi tambah, ubah, hapus, dan tampil data. 

- Fitur pencarian juga ditambahkan agar mempermudah mencari data.


Dengan menguasai konsep CRUD dan implementasinya menggunakan PHP-MySQL, Anda sudah memiliki modal dasar untuk membangun berbagai aplikasi web database sederhana. Beberapa hal yang bisa dikembangkan lebih lanjut:


- Menambahkan validasi input dan sanitasi data untuk keamanan. 

- Mengatur tampilan lebih rapih dengan CSS.

- Menambahkan fitur-fitur lain seperti upload gambar.

- Membuat basis data dan struktur tabel yang lebih kompleks.

- Mengimplementasikan konsep MVC (Model View Controller) untuk struktur kode yang lebih baik.


Semoga tutorial ini bisa menjadi awal yang baik bagi Anda untuk mulai belajar membangun aplikasi web database menggunakan PHP dan MySQL. Dengan terus berlatih dan mengembangkan keterampilan programming Anda, pasti bisa membuat aplikasi yang lebih canggih. Selamat belajar dan semangat!

No comments

Berkomentarlah Dengan Baik dan Sopan jangan sampai menghujat atau yang laiinnya dengan mengunakan kata kotor maka itu akan membuat sebuah nama blog dan anda jadi tidak baik terima kasih

Salam Dari Admin DK