contohnya :
- Pernahkah kalian registrasi akun di sebuah aplikasi atau media sosial dengan memasukan nama, password dan foto?... jika pernah maka berarti kita sudah menggunakan langkah pertama yaitu Create atau bisa disebut dengan membuat user baru.
- Setelah membuat akun pernahkah kalian melihat profil kalian?... di profil kalian akan menampilkan foto kalian yang telah kalian inputkan atau masukan di registrasi. maka kita sudah menggunakan proses yang kedua yaitu membaca data.
- kemudian Pernahkah kalian mengganti password?... jika pernah maka kalian sudah menggunakan langkah ke 3 dari crud yaitu update. atau bisa disebut dengan mengganti password.
- kemudan pernahkah kalian menghapus chat dari sebuah aplikasi media sosial? jika pernah maka kita sudah menggunakan langkah ke empat yaitu delete ( atau menghapus data).
itulah mengapa aplikasi tidak akan terlepas dari yang namanya crud. karena crud itu jantungnya sebuah aplikasi.
Belajar Membuat Crud Mysqli
1. Persiapan yang harus dilakukan.
- Install Xampp
- Install Text Editor ( tutorial ini menggunakan sublime)
- install Brouser (google chrome, firefox dll).
Jika persiapan tersebut sudah terinstall dikomputer anda maka kita langsung akan memulai saja pembelajaran membuat Crud sederhananya dengan menggunakan mysqli serta pemrograman PHP.
2. Langkah-langkah Coding CRUD Mysqli dengan pemrograman php.
- Langkah pertama yang perlu anda lakukan adalah menjalankan XAMPP caranya dapat dilihat dari artikel sebelummnya cara menggunakan Xampp
- Kemudian membuat database beserta tabelnya
- Memulai pembuatan codingnya
projek crud yang akan kita buat akan menghasilkan tampilan seperti dibawah ini
Di projek crud tersebut akan ada 3 menu yang akan kita gunakan yaitu
- add new user = digunakan untuk menambahkan data user
- edit user = digunakan untuk mengedit data
- delete user = digunakan untuk menghapus data user
3. Pembuatan Database
/* Create Database and Table */
create database db_belajar;
use db_belajar;
CREATE TABLE `users` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(100),
`email` varchar(100),
`mobile` varchar(15),
PRIMARY KEY (`id`)
);
4. Membuat File koneksi.php
<?php
$host="localhost";
$nama_database="db_belajar";
$username_database="root";
$password_database="";
$koneksi = mysqli_connect($host,$username_database,$password_database,$nama_database);
if (mysqli_connect_errno()){
echo "Koneksi database gagal : " . mysqli_connect_error();
}
?>
Keterangan :
- File koneksi.php digunakan untuk menyimpan database, host dan username serta password.
- untuk menghubungkan database mysql dengan Pemrograman PHP kita menggunakan fungsi mysqli_connect() dengan alamat server (host) sebagai parameter pertama , user database sebagai parameter ke 2, password database sebagai parameter ke 3 dan nama databasenya sebagai parameter ke 3
- mysqli_connect_errno() digunakan untuk menampilkan error jika koneksi gagal dengan menunjukan kesalahan errornya.
Sebelum ke file berikutnya saya akan menunjukan gambaran besar cara penggunaan kodenya.
dari sourcode diatas jika kita salahkan salah satu dari isi dari variabel username_database yang awalnya adalah "root" diganti menjadi "roots"(ada huruf s nya) maka ketika dijalankan akan menghasilkan error seperti dibawah ini.
perhatikan angka 9 terkadang kita terkecoh dengan line 9 bagi yang baru belajar. kelihatannya adalah bahwa kesalahan terjadi pada baris ke 9 tapi sebenarnya adalah kesalahan ada pada baris ke 5 karena kita sudah mengganti username_databasenya menjadi suatu kesalahan. oleh karena itu jika ingin mengecek eror pada pemrograman php harus benar-benar membaca keseluruhan erornya jangan hanya membaca baris kesalahannya saja.
5. Membuat file index.php
<?php include_once("koneksi.php"); ?>
<html>
<head>
<title>Homepage</title>
</head>
<body>
<a href="add.php">Add New User</a><br/><br/>
<table width='80%' border=1>
<tr>
<th>no</th>
<th>Name</th>
<th>Mobile</th>
<th>Email</th>
<th>Update</th>
</tr>
<?php
$no = 1;
$result = mysqli_query($koneksi, "SELECT * FROM users ORDER BY id DESC");
while($user_data = mysqli_fetch_array($result)) {
?>
<tr>
<td><?php echo $no++; ?></td>
<td><?php echo $user_data['mobile']; ?></td>
<td><?php echo $user_data['name']; ?></td>
<td><?php echo $user_data['email']; ?></td>
<td><a href="edit.php?id=<?php echo $user_data['id']?>">Edit</a></td>
<td><a href="delete.php?id=<?php echo $user_data['id']?>">Hapus</a></td>
</tr>
<?php }
?>
</table>
</body>
</html>
Keterangan:
- include_once digunakan untuk menyisipkan file lain. dari koding diatas kita menyisipkan koneksi.php kedalam file index.php sehingga apa yang ditulis di koneksi.php bisa digunakan kembali di file index.php
- mysqli_query = digunakan untuk mengirim perintah query kedalam database yang ada di mysql.
- mysqli_fetch_array = salah satu fungsi yang banyak digunakan dalam proses pengambilan data MySQL. Fungsi ini akan menangkap data dari hasil perintah query dan membentuknya ke dalam array asosiatif dan array numerik.
contoh array assosiative :
Berikut adalah penjelasan bagaimana cara membaca codenya. silahkan klik gambarnya bagaimana cara code bekerja dalam coding yang kita buat.
Penjelasan code
- baris pertama yaitu include_once menyisipkan file koneksi.php supaya file apa yang ditulis difile koneksi bisa dipanggil.
- Menampilkan data dari tabel didatabase menggunakan fungsi mysql query dan untuk strukturnya bagaimana cara memanggilnya dapat dilihat pada gambar dengan memperhatikan coretan2 gambar tersebut.
- while digunakan untuk menampilkan data yang berbentuk array. data dalam bentuk array terbentuk karena perintah mysqli_fetch_array. tanpa perulangan while data tidak dapat ditampilkan.
- $user['nama'] didapat dari penamaan pada tabel yang telah dibuat.
6. Membuat file add.php
<html>
<head>
<title>Add Users</title>
</head>
<body>
<a href="index.php">Go to Home</a>
<br/><br/>
<form action="add.php" method="post" name="form1">
<table width="25%" border="0">
<tr>
<td>Name</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Mobile</td>
<td><input type="text" name="mobile"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="Submit" value="Add"></td>
</tr>
</table>
</form>
<?php
// Check If form submitted, insert form data into users table.
if(isset($_POST['Submit'])) {
$name = $_POST['name'];
$email = $_POST['email'];
$mobile = $_POST['mobile'];
// include database connection file
include_once("koneksi.php");
// Insert user data into table
$result = mysqli_query($koneksi, "INSERT INTO users(name,email,mobile) VALUES('$name','$email','$mobile')");
// Show message when user added
echo "User added successfully. <a href='index.php'>View Users</a>";
}
?>
</body>
</html>
Penjelasan code:
- Perhatikan code diatas, kita lihat terlebih dahulu pada bagian form. jika kita ingin mengambil data yang ada pada form maka selalu dan harus ada yang namanya atribut Action dan method dan ini hukumnya wajib.
- Action : digunakan untuk mengirim data dalam form ke ke suatu file
- method : digunakan untuk membawa data pada saat formulir disubmit (dikirim). ada 2 method yang digunakan yaitu method POST dan method GET. Method POST lebih aman daripada method GET. Method POST lebih disarankan apabila mengirimkan data-data yang bersifat sensitif ke server
- Fungsi isset() hanya memeriksa apakah sebuah objek form ada atau tidak. Fungsi isset() tetap bernilai true meskipun user tidak mengisi form sama sekali (variabel form bernilai kosong, namun variabel tersebut dianggap telah di-set).
7. Membuat file edit.php
<?php
// include database connection file
include_once("koneksi.php");
// Check if form is submitted for user update, then redirect to homepage after update
if(isset($_POST['update']))
{
$id = $_POST['id'];
$name=$_POST['name'];
$mobile=$_POST['mobile'];
$email=$_POST['email'];
// update user data
$result = mysqli_query($koneksi, "UPDATE users SET name='$name',email='$email',mobile='$mobile' WHERE id=$id");
// Redirect to homepage to display updated user in list
header("Location: index.php");
}
?>
<?php
// Display selected user data based on id
// Getting id from url
$id = $_GET['id'];
// Fetech user data based on id
$result = mysqli_query($koneksi, "SELECT * FROM users WHERE id=$id");
while($user_data = mysqli_fetch_array($result))
{
$name = $user_data['name'];
$email = $user_data['email'];
$mobile = $user_data['mobile'];
}
?>
<html>
<head>
<title>Edit User Data</title>
</head>
<body>
<a href="index.php">Home</a>
<br/><br/>
<form name="update_user" method="post" action="edit.php">
<table border="0">
<tr>
<td>Name</td>
<td><input type="text" name="name" value=<?php echo $name;?>></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email" value=<?php echo $email;?>></td>
</tr>
<tr>
<td>Mobile</td>
<td><input type="text" name="mobile" value=<?php echo $mobile;?>></td>
</tr>
<tr>
<td><input type="hidden" name="id" value=<?php echo $_GET['id'];?>></td>
<td><input type="submit" name="update" value="Update"></td>
</tr>
</table>
</form>
</body>
</html>
- untuk proses edit yang perlu ditekankan adalah value
- value digunakan untuk menset form dengan nilai yang didapat dari database. tanpa value data tidak bisa untuk diedit.
- dan untuk penjelasan cara menggunakan codenya dapat dilihat pada penjelasan sebelumnya yang ada diatas. karena pada hakikatnya cara penggunaannya sama saja seperti code-code yang diatas.
8. membuat file delete.php
<?php
include_once("koneksi.php");
$id = $_GET['id'];
$result = mysqli_query($koneksi, "DELETE FROM users WHERE id=$id");
header("Location:index.php");
?>
0 Komentar