CRUD PHP MySQLi

CRUD PHP MySQLi

Tutorial kali ini kita akan mencoba operasi CRUD PHP dengan menggunakan MySQLi, mulai dari melakukan koneksi ke database, menambah (CREATE), menampilkan (READ), melakukan rubah (UPDATE) dan menghapus (DELETE) data. Caranya tidak terlalu sulit, mungkin bagi teman-teman yang sudah terbiasa dengan perintah query sql pada umumnya. Karena teknik ini, merupakan teknik yang paling mendasasar/ paling awal jika kita ingin menjadi seorang programmer. Langkah-langkahnya sebagai berikut:

1. Buat file koneksi.php
Langkah ini menghubungkan koneksi ke server, disini kita menggunakan Apache sebagai servernya (sudah terdapat di XAMPP).

<?php 

	$server = "localhost";//nama server
	$user = "root"; //username server
	$pass = "";  //password
	$dbase = "db_crudku"; // database yang dipakai

	//Membuat koneksi
	$koneksi = mysqli_connect($server, $user, $pass, $dbase);

	//Mengecek koneksi 
	if(!$koneksi) {
	 die("Koneksi Gagal : ".mysqli_connect_error());
	}

	echo "Koneksi Berhasil";

?>

Hasilnya akan tampil seperti gambar berikut ini:

koneksi.jpg

koneksi berhasil

Sebelumnya jangan lupa membuat databasenya terlebih dahulu disini nama database yang saya gunakan db_crudku, kemudian lanjutkan dengan membuat tabel, nama tabel disini mahasiswa.
Hasilnya akan terlihat seperti pada gambar berikut:

database.jpg

Struktur Tabel

2. Form Input Data (CREATE)
Buat file dengan nama tambah-data.php

<!DOCTYPE html>
<html>
<head>
	<title>Tambah Data</title>
</head>
<body>
	<h3>Tambah Data</h3>

	<form action="insert.php" method="POST">
		<table>
			<tr>
				<td>Nama Lengkap</td>
				<td>:</td>
				<td><input type="text" name="nama"></td>
			</tr>
			<tr>
				<td>Email</td>
				<td>:</td>
				<td><input type="email" name="mail"></td>
			</tr>
			<tr>
				<td></td>
				<td></td>
				<td>
					<input type="submit" name="kirim" value="SIMPAN">
					<input type="reset" name="clear" value="BATAL">
				</td>
			</tr>
		</table>
	</form>

</body>
</html>

Hasilnya akan tampil seperti pada gambar berikut:

tambah-data.jpg

form-tambah

kemudian, lanjutkan dengan membuat file proses untuk insert ke database, insert.php

<?php
	include "koneksi.php";

	$nm = $_POST["nama"];
	$em = $_POST["mail"];

	date_default_timezone_set("Asia/Jakarta");

	$tgl = date("Y:m:d");

	// query sql
	$sql = "INSERT INTO mahasiswa (nama_mahasiswa, email_mahasiswa, tanggal) VALUES('$nm','$em','$tgl')";
	$query = mysqli_query($koneksi, $sql) or die (mysqli_error());

	if($query){
		echo "Data berhasil di insert!";
	} else {
		echo "Error :".$sql."<br>".mysqli_error($koneksi);
	}

	mysqli_close($koneksi);

?>


3. Form Tampilan (READ)

Langkah berikutnya dengan membuat form tampil-data.php, yang bertujuan untuk menampilkan data dari database.

<!DOCTYPE html>
<html>
<head>
	<title>Tampil Data</title>
</head>
<body>
	<h3>Tampil Data</h3>

	<table border="1">
		<thead>
			<th>No</th>
			<th>Nama Mahasiswa</th>
			<th>Email Mahasiswa</th>
			<th>Tanggal</th>
			<th colspan="2">Aksi</th>
		</thead>
		<tbody>
			<?php
				include "koneksi.php";

				// query sql
				$sql = "SELECT * FROM mahasiswa ORDER BY id_mhs DESC";
				$query = mysqli_query($koneksi, $sql) or die (mysqli_error());

				$no = 1; // no. urut

				while($data = mysqli_fetch_array($query)){

					$id = $data["id_mhs"];
					$nm = $data["nama_mahasiswa"];
					$em = $data["email_mahasiswa"];
					$tg = $data["tanggal"];

					echo "<tr>
							<td>$no</td>
							<td>$nm</td>
							<td>$em</td>
							<td>$tg</td>
							<td>
								<a href='rubah-data.php?rubah_id=$id'>Rubah</a>
								<a href='hapus-data.php?hapus_id=$id'>Hapus</a>
							</td>
						  </tr>";
					$no++;
				}
			?>

			
		</tbody>
	</table>

</body>
</html>

Hasilnya akan terlihat seperti gambar berikut:

tampil-data.jpg

Form tampil data

4. Rubah Data (UPDATE)

Jika kita ingin melakukan perubahan data/ update data, jangan lupa untuk membuat form rubah terlebih dahulu, yang bertujuan untuk menampilkan data yang ingin dirubah.
Formnya disini saya akan berikan dengan nama rubah-data.php

<!DOCTYPE html>
<html>
<head>
	<title>Rubah Data</title>
</head>
<body>
	<h3>Rubah Data</h3>

	<?php
		include "koneksi.php";

		$ide = $_GET["rubah_id"];

		$sql = "SELECT * FROM mahasiswa WHERE id_mhs='$ide'";
		$query = mysqli_query($koneksi, $sql) or die (mysqli_error());

		if(mysqli_num_rows($query) > 0){
			$data = mysqli_fetch_array($query);
		}
	?>

	<form action="update.php" method="POST">

		<input type="hidden" name="id" value="<?php echo $data["id_mhs"];?>">

		<table>
			<tr>
				<td>Nama Lengkap</td>
				<td>:</td>
				<td><input type="text" name="nama" value="<?php echo $data["nama_mahasiswa"];?>"></td>
			</tr>
			<tr>
				<td>Email</td>
				<td>:</td>
				<td><input type="email" name="mail" value="<?php echo $data["email_mahasiswa"];?>"></td>
			</tr>
			<tr>
				<td></td>
				<td></td>
				<td>
					<input type="submit" name="edit" value="RUBAH">
				</td>
			</tr>
		</table>
	</form>

</body>
</html>

kemudian dengan lanjutkan dengan membuat file prosesnya, update.php

<?php
	include "koneksi.php";

	$nm = $_POST["nama"];
	$em = $_POST["mail"];
	$id = $_POST["id"];

	date_default_timezone_set("Asia/Jakarta");

	$tgl = date("Y:m:d");

	// query sql
	$sql = "UPDATE mahasiswa 
			SET nama_mahasiswa='$nm',
				email_mahasiswa='$em',
				tanggal='$tgl'
			WHERE id_mhs='$id'";
	$query = mysqli_query($koneksi, $sql) or die (mysqli_error());

	if($query){
		echo "Data berhasil dirubah!";
	} else {
		echo "Error".$sql."<br>".mysqli_error($koneksi);
	}

	mysqli_close($koneksi);

?>

5. Hapus Data (DELETE)
Teman-teman dapat melanjutkan dengan membuat file proses untuk melakukan hapus data yang ada di database, file yang akan saya buat disini hapus-data.php

<?php
	include "koneksi.php";

	$idh = $_GET["hapus_id"];

	// query sql
	$sql = "DELETE FROM mahasiswa WHERE id_mhs='$idh'";
	$query = mysqli_query($koneksi, $sql) or die (mysqli_error());

	if($query){
		echo "Data berhasil di Hapus!";
	} else {
		echo "Error :".$sql."<br>".mysqli_error($koneksi);
	}

	mysqli_close($koneksi);
?>

CRUD PHP dengan menggunakan MySQLi tidaklah sesulit apa yang kita kira, kalau diperhatikan pada penulisan query sql selalu menyertakan variabel yang mengacu ke bagian koneksi.
Demikian tutorial CRUD PHP dengan MySQLi, semoga bermanfaat bagi teman-teman semua 🙂

Source untuk databasenya, bisa diunduh disini:
URL: database_crud

Comments are closed.