logo Sipintek.com
Browse : Home / Pemrograman / PHP / CRUD Database di PHP, Mengelola Database MySQL Dengan PHP
Gambar CRUD Database di PHPMengelola Database MySQL Dengan PHP

CRUD Database di PHP, Mengelola Database MySQL Dengan PHP

Published by I Gede Arya Surya Gita - Posted on Februari 25th, 2020 - No Comments

Hai Sipinter! Tidak ada yang dapat menghentikan admin untuk menulis artikel Tutorial Pemrograman PHP kecuali rasa malas hehehehe.

Kali ini kita akan membahas tentang bagaimana cara mengelola sebuah data tabel dari sebuah database di MySQL menggunakan PHP.

Database atau basis data adalah kumpulan data yang tersimpan dan disusun secara sistematik dalam sebuah sistem komputer.

Adanya database memungkinkan kita untuk menyimpan data dalam jumlah yang banyak dan menggunakannya kapan saja kita membutuhkannya.

Kita dapat mengelola sebuah database dengan menggunakan aplikasi yang disebut DBMS (Database Management System), salah satu DBMS gratis yang paling banyak digunakan adalah MySQL.

MySQL (My Structure Query Language) merupakan software pengolah database open source paling populer yang menggunakan bahasa SQL untuk mengelola database.

Untuk memahami pembahasan kali ini kalian perlu memahami perintah SQL untuk mengelola database di MySQL.

Ada tiga layanan PHP yang dapat digunakan untuk mengelola database MySQL:

  1. mysql =yang sudah jarang digunakan dan tidak dikembangkan lagi.
  2. mysqli (MySQL Improvement) = pengembangan dari layanan mysql.
  3. PDO (PHP Data Objek) = Untuk mengelola berbagai jenis database termasuk database MySQL.

Kali ini kita akan membahas cara mengelola database di PHP dengan mysqli.

Daftar Materi Pembahasan Mengelola Database MySQL dengan PHP:

  1. Membuat database baru di MySQL melalui PHPMyAdmin
  2. Cara membuat tabel baru di MySQL melalui PHPMyAdmin
  3. Cara mengkoneksikan database MySQL ke web PHP
  4. Cara melihat semua data tabel dengan PHP
  5. Cara menambah data ke tabel dengan PHP
  6. Cara mengubah data dalam tabel dengan PHP
  7. Cara menghapus data dalam tabel dengan PHP

Berikut merupakan penjelasan tentang cara mengelola sebuah data database mysql dengan PHP:

Membuat Database Baru di MySQL melalui PHPMyAdmin

Dengan adanya PHPMyAdmin yang merupakan sebuah web untuk pengelola database MySQL, kita dapat membuat mengelola database dengan sangat mudah.

Langkah-langkah membuat database baru di MySQL adalah sebagai berikut

1. Buka Aplikasi XAMPP lalu start atau aktifkan MySQL dan Apache agar kita bisa mengakses PHPMyAdmin, tunggu sampai berwarna hijau.

Gambar menghidupkan apache dan MySQL di XAMPP

2. Lalu buka web browser kalian dan akses localhost/phpmyadmin/, lalu masukan username dan password MySQL kalian, untuk pengguna XAMPP defaultnya username root dan password kosong.

3. Setelah login berhasil maka klik menu new yang ada di pojok kiri, lalu masukan nama database yang ingin dibuat dan klik tombol create.

Gambar membuat database baru melalui phpmyadmin

Yang perlu kalian perhatikan penulisan nama database tidak boleh menggunakan spasi atau simbol lainnya selain underscore, dan nama database MySQL tidak case sensitive.

4. Jika berhasil di sidebar kiri akan muncul database yang kalian buat dan secara otomatis kita akan dialihkan ke halaman untuk membuat tabel baru, gimana simpel kan no code hehehe.

Gambar ketika berhasil membuat database baru melalui phpmyadmin

Membuat Tabel Baru di MySQL Melalui PHPMyAdmin

Kita akan membuat tabel buku di database perpustakaan yang sudah kita buat sebelumnya.

Jadi di dalam tabel buku ini akan berisi kolom id buku, judul buku, pengarang, tahun terbit dan harga.

1. Buka PHPMyAdmin lalu klik database di sidebar kiri yang akan kita tambahkan tabel baru.

2. Lalu isi nama tabel baru dan jumlah kolom dalam tabelnya, tapi jangan takut jumlah kolomnya salah karena nanti bisa ditambah atau dikurangi.

Gambar cara membuat tabel baru di database mysql melalui phpmyadmin

3. Lalu buat nama kolom, tipe data, length sesuai kebutuhan. Seperti gambar di bawah:

Gambar mengelola kolom pada tabel di database mysql melalui phpmyadmin

4. Khusus untuk kolom id kita setting indexnya sebagai primary ketika window pilih go dan centang A_I (auto increment) agar nilainya otomatis terisi dan bertambah, dimana kolom ini akan menjadi kunci kita untuk mengelola data buku.

Dalam sebuah database wajib yang ada sebuah kolom dengan nilai yang tidak mungkin sama atau unik sebagai primary key.

5. Lalu untuk membuat kolom baru kalian bisa lihat di atas ada bagian tambah kolom, isi berapa kolom yang akan ditambahkan lalu klik go.

Gambar menambahkan kolom baru di database mysql melalui phpmyadmin

6. Jika kolom sudah selesai dibuat simpan dengan klik tombol save yang ada di bagian bawah.

Gambar simpan kolom dan tabel baru di mysql yang sudah dibuat

7. Maka jika berhasil akan muncul tabel dan kolom yang sudah kita buat sebelumnya, jika error perhatikan pesan errornya dan perbaiki oke.

Gambar hasil tabel yang baru dibuat di database mysql melalui phpmyadmin

Cara Mengkoneksikan Database MySQL ke Web PHP

Kali ini kita akan belajar cara mengkoneksikan sebuah database MySQL ke halaman web yang kita buat dengan PHP.

Ada beberapa hal yang perlu kalian ketahui dalam mengkoneksikan database yaitu:

  1. alamat host yang berupa domain name atau IP address yang dimiliki database server, karena disini menggunakan XAMPP maka kita menggunakan localhost atau IP 127.0.0.1
  2. Username dan password untuk mengakses database yang yang kita butuhkan.
  3. Nama database yang akan kita kelola melalui halaman web PHP kita.
  4. Port database perlu di setting, jika kita merubah port default MySQL yaitu 3306

kita dapat menggunakan fungsi mysqli_connect() untuk mengkoneksikan database MySQL dengan aturan:

$variabel=mysqli_connect(“host”,”username”,”password”,”database”,port);

Port bersifat bisa dikosongkan, parameter port bernilai integer.

Berikut merupakan cara mengkoneksikan database MySQL di PHP dengan mysqli:

<?php
	$host="127.0.0.1";
	$username="root";
	$password="";
	$database="perpustakaan";

	$db= mysqli_connect($host,$username,$password,$database);
	
	if($db){
		echo "<h1>Database Berhasil Konnek</h1>";
		echo $db->host_info . "\n";
	}else{
		echo "<h1>Database Gagal Konnek</h1><br><p>".mysqli_connect_error()."</p>";
	}
?>

Berikut hasilnya dimana koneksi berhasil:

Gambar Hasil ketika koneksi database berhasil menggunakan fungsi mysqli_connect di php

Berikut hasilnya jika nama database nya kita salahkan maka koneksi database gagal:

Gambar hasil ketika koneksi database error menggunakan fungsi mysqli_connect di php

Cara Melihat Atau Menampilkan Isi Data Tabel di PHP

Untuk melihat isi tabel maka kita perlu mengisi data tabel melalui PHPMyAdmin dengan cara seperti gambar di bawah:

Gambar langkah-langkah menambahkan data ke tabel mysql melalui phpmyadmin

Bisa dilihat kita tidak perlu mengisi nilai dari kolom id tapi nilainya langsung ada dan nilainya selalu bertambah karena sebelumnya kita atur agar auto increment.

Admin sudah mengisi tabel yang sudah dibuat sebelumnya melalui phpmyadmin, isi tabel bisa dilihat pada gambar:

Gambar melihat Isi tabel melalui phpmyadmin

Untuk menampilkan isi dari tabel dari database MySQL di PHP kita bisa menggunakan gabungan fungsi mysqli_connect(), mysqli_query(), dan mysqli_fetch_array().

Berikut merupakan langkah-langkah cara menampilkan data, yang ada pada tabel dalam database MySQL di PHP:

1. buat dua file php dimana file pertama digunakan untuk menyimpan script php untuk mengolah data tabel buku dengan nama tabelBuku.php, lalu buat file satu lagi di folder yang sama untuk menyimpan script tampilan web PHP kita.

2. isi file tabelBuku.php dengan perintah menampilkan data tabel di PHP berikut:

<?php
	$host="127.0.0.1";
	$username="root";
	$password="";
	$database="perpustakaan";

	$db= mysqli_connect($host,$username,$password,$database);
	
	if(!$db){
		echo "<h1>Database Gagal Konnek</h1><br><p>".mysqli_connect_error()."</p>";
	}

	$queryBuku=mysqli_query($db,"select * from buku");

?>

3. Terakhir buat halaman tampilan untuk nilai menampilkan data tabel buku di file tampilanBuku.php, lalu hubungkan file ini dengan tabelBuku.php menggunakan fungsi include() seperti di bawah:

<?php
	include "tabelBuku.php";
?>
<!DOCTYPE html>
<html>
<head>
	<title>Perpustakaan | Buku</title>
</head>
<body>
	<h1>Daftar Buku di Perpustakaan</h1>
	<table cellspacing="10">
		<tr>
			<th>ID</th>
			<th>Judul Buku</th>
			<th>Pengarang</th>
			<th>Tahun Terbit</th>
			<th>Harga</th>
		</tr>
		<?php
			while($dataBuku=mysqli_fetch_array($queryBuku)){
				echo "<tr><td>".$dataBuku["id"]."</td>";
				echo "<td>".$dataBuku["judul"]."</td>";
				echo "<td>".$dataBuku["pengarang"]."</td>";
				echo "<td>".$dataBuku["tahun_terbit"]."</td>";
				echo "<td>".$dataBuku["harga"]."</td></tr>";
			}
		?>
	</table>
</body>
</html>

fungsi mysqli_fetch_array akan mengubah hasil query menjadi variabel array dengan nama index sesuai nama kolom.

Jika tidak mengerti perulangan while kunjungi: Perulangan di PHP

4. Lalu kita akses halamanBuku.php, maka hasilnya bisa dilihat seperti gambar di bawah:

Gambar hasil menampilkan isi tabel database mysql di web php

Cara Menambah Data ke Tabel Dengan PHP

1. Kita akan membuat file baru tambahBuku.php berisi form untuk menerima data buku yang akan ditambahkan.

form html yang akan digunakan untuk menginputkan data buku baru adalah seperti di bawah:

<!DOCTYPE html>
<html>
<head>
	<title>Tambah Data Buku</title>
</head>
<body>
	<form action="halamanBuku.php" method="get">
		<h1>Masukan Data Buku Baru</h1>
		<hr/><br/>
		<input type="text" name="judul" maxlength="100" size="104" placeholder="Masukan judul buku..." required><br/><br/>
		<input type="text" name="pengarang" maxlength="100" size="104" placeholder="Masukan nama pengarang..." required><br/><br/>
		<input type="text" name="tahun_terbit" maxlength="4" size="8" placeholder="Tahun..." required><br/><br/>
		<input type="text" name="harga" maxlength="10" size="14" placeholder="harga..." required><br/><br/>
		<input type="submit" name="action" value="tambah">

	</form>
</body>
</html>

Jika tidak mengerti form dan method get kunjungi: Mengelola Data Form di PHP

2. Lalu kita buat link di halamanBuku.php untuk membuka halaman tambahBuku.php seperti di bawah:

<?php
	include "tabelBuku.php";
?>
<!DOCTYPE html>
<html>
<head>
	<title>Perpustakaan | Buku</title>
</head>
<body>
	<h1>Daftar Buku di Perpustakaan</h1>
	<a href="tambahBuku.php">+ Tambah Buku</a>
	<table cellspacing="10">
		<tr>
			<th>ID</th>
			<th>Judul Buku</th>
			<th>Pengarang</th>
			<th>Tahun Terbit</th>
			<th>Harga</th>
		</tr>
		<?php
			while($dataBuku=mysqli_fetch_array($queryBuku)){
				echo "<tr><td>".$dataBuku["id"]."</td>";
				echo "<td>".$dataBuku["judul"]."</td>";
				echo "<td>".$dataBuku["pengarang"]."</td>";
				echo "<td>".$dataBuku["tahun_terbit"]."</td>";
				echo "<td>".$dataBuku["harga"]."</td></tr>";
			}
		?>
	</table>
</body>
</html>

3. Buat perintah tambah data yang akan berjalan ketika form tambah data di kirim, perintah tambah data ditulis di tabelBuku.php seperti di bawah:

<?php
	$host="127.0.0.1";
	$username="root";
	$password="";
	$database="perpustakaan";

	$db= mysqli_connect($host,$username,$password,$database);
	
	if(!$db){
		echo "<h1>Database Gagal Konnek</h1><br><p>".mysqli_connect_error()."</p>";
	}

	if(isset($_GET['action'])&amp;&amp;$_GET['action']=="tambah"){
		$queryTambah=mysqli_query($db,"insert into buku (id,judul,pengarang,tahun_terbit,harga)value (null,'".$_GET['judul']."','".$_GET['pengarang']."','".$_GET['tahun_terbit']."',".$_GET['harga'].")");

		if ($queryTambah) {
			echo "buku '".$_GET['judul']."' Berhasil Ditambahkan<hr/>";
		} else {
			echo "buku '".$_GET['judul']."' Gagal Ditambahkan<hr/>";
		}
		
	}

	$queryBuku=mysqli_query($db,"select * from buku");
?>

4. Hasilnya proses input data bisa dilihat di bawah:

Gambar tambah data _ Link untuk membuka form tambah data
Gambar tambah data _ halaman berisi form untuk menambahkan data
Gambar tambah data _ hasil ketika data berhasil ditambahkan ke tabel

Cara Mengubah Data Dalam Tabel Dengan PHP

Pertama untuk dapat merubah sebuah data yang kita inginkan dalam sebuah database, kita perlu mengetahui nilai primary key nya agar kita tidak salah dalam mengedit data.

1. Maka dari itu kita perlu membuat link di halamanBuku.php yang mengirim nilai primary key dari data buku yang ingin kita rubah, caranya seperti di bawah:

<?php
	include "tabelBuku.php";
?>
<!DOCTYPE html>
<html>
<head>
	<title>Perpustakaan | Buku</title>
</head>
<body>
	<h1>Daftar Buku di Perpustakaan</h1>
	<a href="tambahBuku.php">+ Tambah Buku</a>
	<table cellspacing="10">
		<tr>
			<th>ID</th>
			<th>Judul Buku</th>
			<th>Pengarang</th>
			<th>Tahun Terbit</th>
			<th>Harga</th>
			<th>Edit</th>
		</tr>
		<?php
			while($dataBuku=mysqli_fetch_array($queryBuku)){
				echo "<tr><td>".$dataBuku["id"]."</td>";
				echo "<td>".$dataBuku["judul"]."</td>";
				echo "<td>".$dataBuku["pengarang"]."</td>";
				echo "<td>".$dataBuku["tahun_terbit"]."</td>";
				echo "<td>".$dataBuku["harga"]."</td>";
				echo "<td><a href='editBuku.php?id=".$dataBuku["id"]."'>Edit</a></td></tr>";
			}
		?>
	</table>
</body>
</html>

2. Lalu kita akan membuat file baru bernama editBuku.php sesuai link yang sudah kita buat sebelumnya.

File editBuku.php akan berisi form yang mirip dengan form tambah, namun formnya akan langsung berisi data yang ingin dirubah.

3. Berikut merupakan cara membuat form edit di PHP, dimana kita akan memanggil file tabelBuku.php yang berisi perintah koneksi ke database MySQL agar koneksi hanya dilakukan sekali saja. Seperti contoh di bawah:

<?php
	include "tabelBuku.php";
?>
<!DOCTYPE html>
<html>
<head>
	<title>Edit Data Buku</title>
</head>
<body>
	<?php
		if(isset($_GET['id'])){
			$dataSB=$db=mysqli_query($db,"select * from buku where id=".$_GET['id']);

			while($dataValue=mysqli_fetch_array($dataSB)){		
	?>
			<form action="halamanBuku.php" method="get">
				<h1>Masukan Data Buku Baru</h1>
				<hr/><br/>
				<input type="text" name="judul" maxlength="100" size="104" value="<?php echo $dataValue['judul']?>" placeholder="Masukan judul buku..." required><br/><br/>
				<input type="text" name="pengarang" maxlength="100" size="104" value="<?php echo $dataValue['pengarang']?>" placeholder="Masukan nama pengarang..." required><br/><br/>
				<input type="text" name="tahun_terbit" maxlength="4" size="8" value="<?php echo $dataValue['tahun_terbit']?>" placeholder="Tahun..." required><br/><br/>
				<input type="text" name="harga" maxlength="10" size="14" value="<?php echo $dataValue['harga']?>" placeholder="harga..." required><br/><br/>
				<input type="text" maxlength="10" name="id" value="<?php echo $dataValue['id']?>" hidden>
				<input type="submit" name="action" value="ubah">

			</form>
	<?php
			}
		}else{
			echo "";
		}
	?>
</body>
</html>

4. Lalu kita tinggal membuat perintah edit data buku yang akan berjalan jika form ubah data di kirim, dimana kita akan meletakan perintahnya di file tabelBuku.php:

<?php
	$host="127.0.0.1";
	$username="root";
	$password="";
	$database="perpustakaan";

	$db= mysqli_connect($host,$username,$password,$database);
	
	if(!$db){
		echo "<h1>Database Gagal Konnek</h1><br><p>".mysqli_connect_error()."</p>";
	}

	if(isset($_GET['action'])&amp;&amp;$_GET['action']=="tambah"){
		$queryTambah=mysqli_query($db,"insert into buku (id,judul,pengarang,tahun_terbit,harga)value (null,'".$_GET['judul']."','".$_GET['pengarang']."','".$_GET['tahun_terbit']."',".$_GET['harga'].")");

		if ($queryTambah) {
			echo "Buku '".$_GET['judul']."' Berhasil Ditambahkan<hr/>";
		} else {
			echo "Buku '".$_GET['judul']."' Gagal Ditambahkan<hr/>";
		}
		
	}

	if(isset($_GET['action'])&amp;&amp;$_GET['action']=="ubah"){
		$queryUbah=mysqli_query($db,"update buku set judul='".$_GET['judul']."',pengarang='".$_GET['pengarang']."',tahun_terbit='".$_GET['tahun_terbit']."',harga=".$_GET['harga']." WHERE id=".$_GET['id']);

		if ($queryUbah) {
			echo "Buku '".$_GET['judul']."' Berhasil Diperbaharui<hr/>";
		} else {
			echo "Buku '".$_GET['judul']."' Gagal Diperbaharui<hr/>";
		}
	}

	$queryBuku=mysqli_query($db,"select * from buku");
?>

Berikut merupakan contoh ketika kita merubah buku matematika menjadi matematika 1:

Gambar edit data - link untuk membuka form untuk mengubah data
Gambar percobaan merubah data menggunakan form yang sudah dibuat di php

Hasilnya berhasil seperti gambar di bawah:

Gambar hasil dari merubah data dalam database dengan web php yang telah dibuat

Cara menghapus data dalam tabel dengan PHP

Ini merupakan tahap terakhir dalam membuat aplikasi CRUD yaitu membuat fitur delete data dalam database di web PHP.

1. Untuk membuat fitur delete kita perlu membuat link yang mengirim nilai id atau kolom yang menjadi primary key dalam sebuah tabel, kita tinggal menambahkan link hapus data di file halamanBuku.php seperti perintah di bawah:

<?php
	include "tabelBuku.php";
?>
<!DOCTYPE html>
<html>
<head>
	<title>Perpustakaan | Buku</title>
</head>
<body>
	<h1>Daftar Buku di Perpustakaan</h1>
	<a href="tambahBuku.php">+ Tambah Buku</a>
	<table cellspacing="10">
		<tr>
			<th>ID</th>
			<th>Judul Buku</th>
			<th>Pengarang</th>
			<th>Tahun Terbit</th>
			<th>Harga</th>
			<th>Edit</th>
			<th>Hapus</th>
		</tr>
		<?php
			while($dataBuku=mysqli_fetch_array($queryBuku)){
				echo "<tr>";
				echo "<td>".$dataBuku["id"]."</td>";
				echo "<td>".$dataBuku["judul"]."</td>";
				echo "<td>".$dataBuku["pengarang"]."</td>";
				echo "<td>".$dataBuku["tahun_terbit"]."</td>";
				echo "<td>".$dataBuku["harga"]."</td>";
				echo "<td><a href='editBuku.php?id=".$dataBuku["id"]."'>Edit</a></td>";
				echo "<td><a href='halamanBuku.php?action=hapus&amp;judul=".$dataBuku["judul"]."&amp;id=".$dataBuku["id"]."'>Hapus</a></td></tr>";
				echo "</tr>";
			}
		?>
	</table>
</body>
</html>

2. Lalu buat perintah hapus data yang berjalan ketika ada variabel get action bernilai hapus ada, kita tinggal menambahkannya di file tabelBuku.php seperti di bawah:

<?php
	$host="127.0.0.1";
	$username="root";
	$password="";
	$database="perpustakaan";

	$db= mysqli_connect($host,$username,$password,$database);
	
	if(!$db){
		echo "<h1>Database Gagal Konnek</h1><br><p>".mysqli_connect_error()."</p>";
	}

	if(isset($_GET['action'])&amp;&amp;$_GET['action']=="tambah"){
		$queryTambah=mysqli_query($db,"insert into buku (id,judul,pengarang,tahun_terbit,harga)value (null,'".$_GET['judul']."','".$_GET['pengarang']."','".$_GET['tahun_terbit']."',".$_GET['harga'].")");

		if ($queryTambah) {
			echo "Buku '".$_GET['judul']."' Berhasil Ditambahkan<hr/>";
		} else {
			echo "Buku '".$_GET['judul']."' Gagal Ditambahkan<hr/>";
		}
		
	}

	if(isset($_GET['action'])&amp;&amp;$_GET['action']=="ubah"){
		$queryUbah=mysqli_query($db,"update buku set judul='".$_GET['judul']."',pengarang='".$_GET['pengarang']."',tahun_terbit='".$_GET['tahun_terbit']."',harga=".$_GET['harga']." WHERE id=".$_GET['id']);

		if ($queryUbah) {
			echo "Buku '".$_GET['judul']."' Berhasil Diperbaharui<hr/>";
		} else {
			echo "Buku '".$_GET['judul']."' Gagal Diperbaharui<hr/>";
		}
	}

	if(isset($_GET['action'])&amp;&amp;$_GET['action']=="hapus"){
		$queryUbah=mysqli_query($db,"delete from buku where id=".$_GET['id']);

		if ($queryUbah) {
			echo "Buku '".$_GET['judul']."' Berhasil Dihapus<hr/>";
		} else {
			echo "Buku '".$_GET['judul']."' Gagal Dihapus<hr/>";
		}
	}

	$queryBuku=mysqli_query($db,"select * from buku");	

?>

3. Lalu kita coba menghapus data buku fisika yang ada banyak:

Gambar percobaan menghapus data dalam database melalui web php yang dibuat

Hasilnya adalah berhasil, seperti yang kalian lihat pada gambar di atas.

Sekian postingan kali ini jika ada kesalahan admin mohon maaf yang sebesar-besarnya.

Jangan lupa tinggalkan komentar jika memiliki pertanyaan atau masukan untuk pembahasan kali ini.

“Nikmati sebuah proses mulai dari belajar, mengembangkan, dan berbagi untuk orang lain.”

Bantu kami dengan share postingan ini 😀 !


Gambar Membuat Database Untuk Web CMS dengan MySQL #2

Membuat Database Untuk Web CMS dengan MySQL #2


Gambar Membuat Database Untuk Web CMS dengan MySQL #1

Membuat Database Untuk Web CMS dengan MySQL #1


Gambar Penjelasan MVC Dalam Pemrograman Web PHP

Penjelasan MVC Dalam Pemrograman Web PHP


Gambar Belajar Menggunakan Cookie di PHP

Belajar Menggunakan Cookie di PHP



Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *