Cara Membuat Perintah Insert, Update, Delete Dengan Mysql Improve

Membuat koneksi database dan membuat perintah (Tambah, Edit , Delete)

Di suatu WEB proses tampil data, input, update dan delete sering kita jumpai. Atau dalam bahasa kerennya di sebut CRUD (Creata, Read, Update, Delete) yang merupakan proses pemrograman dasar khususnya yang berkaitan dengan database. Untuk pemrograman bebasis WEB proses CRUD ini dapat dilakukan dengan kode script PHP, baik dalam proses CRUD maupun untuk mehubungkan database dengan program PHP yang kita buat.

 

Di pertemuan kali ini kita akan membahas tentang koneksi database menggunakan mysql improve dimana di setiap perintahnya akan di awali dengan fungsi kata mysqli Disamping itu kita juga akan mempelajari dan membuat sebuah form untuk Tampil, Tambah, Edit dan Delete. Kita akan mencoba membuat form siswa di mana form tersebut di fasilitasi perintah tambah,edit dan delete.

Terlebih dahulu buatlah database, dalam contoh ini saya menggunakan phpMyAdmin.

1. Buatlah database dengan nama sekolah.

2. Buat tabel dengan nama siswa dan isikan 4 untuk jumlah kolom yang akan dibuat.

3. Kemudian isikan ke 4 kolom yang telah dibuat tadi seperti berikut.

4. Jika sudah save dan isikan sejumlah data pada tabel siswa tersebut, Apabila langkah-langkah membuat database sudah selesai, langkah selanjutnya adalah membuat file koneksi kedatabase dan form - form yang diperlukan.

5. Terlebh dulu kita buat file yang mengoneksikan database ke file php dengan cara menuliskan kode script dibawah ini simpan dengan nama konek.php di (xampp/htdoc/latihan/config/konek.php).

<?php
$db_host		= 'localhost'; 
$db_usn		= 'root'; //nama username
$db_pwd		= ''; //password jika tadak ada bisa di kosongi seperti contoh 
$db_name	= 'sekolah'; //nama database

$db_link	= mysqli_connect($db_host,$db_usn,$db_pwd,$db_name);
if (!$db_link){
	echo 'Tidak dapat terhubung ke database';
}
?>

CATATAN :

1. Disini saya menggunkan mysqli (MySQL Improve Extension) karena extensi ini dapat digunakan untuk mengakses MySQL versi 4.1 keatas. Karena jika menggunakan extensi mysql_connect versi ini sudah usang sejak PHP Versi 5.5.0. Jadi sebagai gantinya, kita dianjurkan untuk menggunakan extensi pengganti, yaitu mysqli ( MySQL Improve Extension ).

6. Selanjutnya adalah membuat file yang akan menampilkan data dari tabel siswa simpan dengan nama siswa.php di (xampp/htdoc/latihan/siswa.php).

untuk membuat tabel yang menampilkan data seperti di atas, di bawah ini merupakan kode scriptnya.

<?php
include('./config/konek.php'); 
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body bgcolor="#CCCCCC">
<?php
$sql	= 'select * from siswa';
$query	= mysqli_query($db_link,$sql);
?>
<h2><strong><p align="center">Data Siswa SMK Media Kreatif</p></strong></h2>
<table width="807" border="1" cellpadding="0" cellspacing="0" align="center">
  <!--DWLayoutTable-->
  <tr>
    <td width="112" height="29" align="center" valign="middle" bgcolor="#00FFFF">NIS</td>
    <td width="176" align="center" valign="middle" bgcolor="#00FFFF">Nama</td>
    <td width="252" align="center" valign="middle" bgcolor="#00FFFF">Alamat</td>
    <td width="134" align="center" valign="middle" bgcolor="#00FFFF">Kelas</td>
    <td width="133" align="center" valign="middle" bgcolor="#00FFFF"><a href="tambah.php">TAMBAH</a></td></tr>
<?php
	while($data	= mysqli_fetch_array($query)){ 
?>
  <tr>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['nis']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['nama']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['alamat']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['kelas']; ?></td>
    <td p align="center" bgcolor="#FFFFFF">
	 || edit || || hapus ||
	</td>
  </tr>
<?php
}
?>
</table>
</body>
</html>

 

7. Selanjutnya kita buat form untuk tambah data kita simpan dengan nama tambah.php di (xampp/htdoc/latihan/tambah.php).

berikut kode script untuk membuat form tambah data di atas.

<body bgcolor="#CCCCCC">
<h2><p align="center">TAMBAH DATA</p></h2>
<form method="post" action="aksi.php">
<table width="546" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF">
  <!--DWLayoutTable-->
  <tr>
    <td width="189" height="20"> </td>
    <td width="26"> </td>
    <td width="331"> </td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">NIS</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <input name="nis" type="text" size="10">
    </label></td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Nama</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <input type="text" name="nama">
    </label></td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Alamat</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <input name="alamat" type="text" size="50">
    </label></td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Kelas</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <select name="kelas">
	  	<option selected="selected">--Pilih--</option>
		<option>1</option>
		<option>2</option>
		<option>3</option>
      </select>
    </label></td>
  </tr>
  <tr>
    <td height="42"> </td>
    <td> </td>
    <td><input type="submit" name="ttambah" value="TAMBAH"></td>
  </tr>

</table>
</form>
</body>

CATATAN :

1. <form method="post" action="aksi.php"> disini terlihat di tag action nilainya sama dengan aksi.php, file tersebut merupakan file untuk menangkap data yang di tambahkan dan memasukkannya ke database.

untuk itulah di catatan tambah.php kita harus membuat file dengan nama aksi.php disimpan di (xampp/htdoc/latihan/aksi.php). Dan di bawah ini merupakan kodoe scriptnya.

<?php
include('config/konek.php');
if(isset($_POST['ttambah'])){ //['ttambah'] merupakan name dari button di form tambah
	$nis	= $_POST['nis'];
	$nama	= $_POST['nama'];
	$alamat	= $_POST['alamat'];
	$kelas	= $_POST['kelas'];
	
	$sql	= 'insert into siswa (nis,nama,alamat,kelas) values ("'.$nis.'","'.$nama.'","'.$alamat.'","'.$kelas.'")';
	$query	= mysqli_query($db_link,$sql);
	
	if($query){
		header('location: siswa.php'); //kode ini supaya jika data setelah ditambahkan form kembali menuju tabel data siswa
	}
	else{
		echo 'Gagal';
	}
}
?>

 

8. Setelah membuat file untuk tambah data selanjutnya kita buat untuk update data, buat dan simpan dengan nama edit.php di (xampp/htdoc/latihan/edit.php).

berikut kode script untuk membuat form edit.php data di atas, tapi terlebih dahulu kita buka file siswa.php dan perhatikan kode di bawah ini yang akan di tambah sedikit kode lagi.

sebelumnya =>

	 <tr>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['nis']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['nama']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['alamat']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['kelas']; ?></td>
    <td p align="center" bgcolor="#FFFFFF">
	 || edit || || hapus ||
	</td>
  </tr>

setelahnya =>

 <tr>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['nis']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['nama']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['alamat']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['kelas']; ?></td>
    <td p align="center" bgcolor="#FFFFFF">
	<a href="edit.php?ni=<?php echo $data['nis'];?>" title="Edit siswa ini"> || edit || </a>
	<a href="delete.php?ni=<?php echo $data['nis'];?>" onclick="return confirm('Yakin mau di hapus?');">|| hapus ||</a>
	</td>
  </tr>

Sesudah itu buka edit.php dan tambahkan kode berikut :

<body bgcolor="#CCCCCC">
<h2>
<p align="center">EDIT DATA
<?php
	include('config/konek.php');
	if(isset($_GET['ni'])){
		$ni		= $_GET['ni'];
		$query	= mysqli_query($db_link,'select * from siswa where nis = "'.$ni.'"');
		$data  	= mysqli_fetch_array($query);
		$nama	= $data['nama'];
		$alamat	= $data['alamat'];
		$kelas	= $data['kelas'];
	}
	else{
	$nama = '';
	$alamat = '';
	$kelas = '';
	}
?>
</p></h2>
<form method="post" name="frm" action="aksi.php">
<table width="546" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" align="center">
  <!--DWLayoutTable-->
  <tr>
    <td width="189" height="20"> </td>
    <td width="26"> </td>
    <td width="331"> </td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">NIS</td>
    <td align="center" valign="top">:</td>
    <td valign="middle">
      <input type="text" name="nis" value="<?php echo $_GET['ni']; ?>" readonly="readonly"> 
    </td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Nama</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <input type="text" name="nama" value="<?php echo $nama; ?>">
    </label></td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Alamat</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <input name="alamat" type="text" size="50" value="<?php echo $alamat; ?>">
    </label></td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Kelas</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
		<input name="kelas" type="text" size="50" value="<?php echo $kelas; ?>">
    </label></td>
  </tr>
  <tr>
    <td height="42"> </td>
    <td> </td>
    <td><input type="submit" name="tedit" value="EDIT"></td>
  </tr>
</table>
</form>

CATATAN :

1. <form method="post" action="aksi.php"> sama seperti di form tambah disini juga terdapat tag yang sama dengan nilai atribut sama dengan aksi.php berguna untuk menangkap editan data yang sudah dilakukan user dan menampilkannya ke siswa.php

jadi kita buka file aksi.php dan tambahkan kode script berikut sebelum tag tutup php ?> kodenya adalah.

if(isset($_POST['tedit'])){
	$nama	= $_POST['nama'];
	$alamat	= $_POST['alamat'];
	$kelas	= $_POST['kelas'];
	$nis	= $_POST['nis'];
	
	$sql	= 'update siswa set nama="'.$nama.'", alamat="'.$alamat.'", kelas="'.$kelas.'" where nis="'.$nis.'"';
	$query	= mysqli_query($db_link,$sql);
	
	if($query){
		header('location: siswa.php');
	}
	else{
		echo 'Gagal';
	}
}

Cobalah fungsi update tersebut pada salah satu data

 

9. Langkah terakhir yaitu kita buat fungsi delete, buka lembar baru simpan dengan nama delete.php di (xampp/htdoc/latihan/delete.php).

tuliskan kode script untuk delete.php seperti berikut :

<?php
include('config/konek.php');
$ni	= $_GET['ni'];

$sql 	= 'delete from siswa where nis="'.$ni.'"';
$query	= mysqli_query($db_link,$sql);
header('location: siswa.php');
?>

Sebelum itu buka siswa.php tambahkan kode berikut pada tombol hapus hingga menjadi seperti berikut

<a href="delete.php?ni=<?php echo $data['nis'];?>" onclick="return confirm('Yakin mau di hapus?');">|| hapus ||</a>

CATATAN :

1. onclick="return confirm('Yakin mau di hapus?'); adalah kode script untuk menambahkan pesan/message box untuk meyakinkan user data ingin di hapus atau tidak.

2. header('location: siswa.php'); untuk langsung mengarahkan tampilan ke tabel siswa ketika sudah terhapus.

jika sudah selesai semua mengenai pembuatan hapus maka jika dijlankan akan tampil seperti berikut :

pertama :

kedua : muncul message box dan jika memilih OK maka datanya akan dihapus.

ketiga : data pada nis nomer 3 akan hilang

Demikianlah tahapan pembuatan perintah CRUD yang terkonek dengan database mysql, ini merupakan pejelasan dasar mengenai PHP. Dan semoga dari penjelasan singkat ini beguna bagi para pembaca semua.

 

 

SELAMAT MENCOBA DAN SUKSES

 

SALAM KREATIF :)


Komentar pembaca

edosangat bagus, jelas, tlng bg untuk menu login logout session dan form cari record.. tlng kirim ke-email edoshn@yahoo.com tqposting pada :2015-09-26 11:18:17
AknafGan kok ane delete nya ga berhasil ya?posting pada :2015-11-10 19:02:54
vincentterima kasih bro...petunjuknya all the best everithing for youposting pada :2015-12-13 16:30:00
sitaterima kasih sekali. Penjelasan Anda sangat berguna sekali bagi pemula seperti saya. posting pada :2016-01-12 12:07:40
Admin

Iya, sama  - sama, semoga tulisan kami bermanfaat buat sdr sita

posting pada :2016-01-14 12:23:46
anggamas itu yang di bagian script DELETE yang ini " $ni = $_GET['ni']; " itu ni=<.. yang ada di siswa bisa langsung di pake tanpa make isset dulu ? posting pada :2016-03-20 19:10:37
awan ardanabang $ni = $_GET['ni']; itu apa???? nis??posting pada :2016-03-28 11:08:56
Om GazzWah ini yang saya cari.. Lagi pengin belajar Mysqli nih, mau upgrade dari Mysql... Makasih atas tutorialnyaposting pada :2016-03-28 11:26:20
mr espanaMas mau nanya, kok pas setelah melakukan edit, data di table nya jadi duplikat ya? Itu gimana caranya biar tidak duplikat mas terima kasiih. posting pada :2016-04-13 11:51:24
Halim Perdana KusumahSelamat Pagi... kenapa ya pas saya mau edit NIS nya kok gk bisa??? posting pada :2016-05-10 08:51:46
Ridwanmas saya di line 13 sama 25nya eror di siswa.phpposting pada :2016-05-30 12:21:36
greyinsumpa saya bingun berikut kode script untuk membuat form edit.php data di atas, tapi terlebih dahulu kita buka file siswa.php dan perhatikan kode di bawah ini yang akan di tambah sedikit kode lagi. sebelumnya => seterunya itu saya suda ga tau mas.... makasi by anak malukposting pada :2016-06-03 16:50:42
sasukemuter2 tutorialnya, kenapa ga langsung aja yang fixposting pada :2016-06-07 13:51:57
agusbayusamsilsumpa saya bingun berikut kode script untuk membuat form edit.php data di atas, tapi terlebih dahulu kita buka file siswa.php dan perhatikan kode di bawah ini yang akan di tambah sedikit kode lagi. sebelumnya => seterunya itu saya suda ga tau mas.... makasi by anak maluk posting pada :2016-06-08 13:37:52
karlinaBagian edit.php kok bikin bingung ya o.Oposting pada :2016-06-15 17:17:51
pursantosoMantab gan, saya coba sukses ... sama seperti agan edo please banget kasih contoh untuk menu login logout session dan form cari record.. tlng kirim ke-email santosopur8@gmail.com thanks ..posting pada :2016-07-21 14:50:06
Ridwan KurniajiWork Gan, Thanks yaa ^_^posting pada :2016-07-27 12:25:01
MisriyadiTerimah Kasih Gan,, Awalnya emang bigung, soalnya saya gak pnya penglaman dasar PHP,,, stelah d cba" kbayakan gagal,, :( akhirx sukses jg,,,, :)posting pada :2016-08-06 19:43:40
debora siahaanbagus tapi bagaimana cara membuat update di php posting pada :2016-08-09 10:02:01
Mahpudkeren,,,,posting pada :2016-08-11 11:41:51
heri yantonumpang tanya? kok saya buat kayak yg di atas kok editnya ngak bisa di gunakan yaposting pada :2016-08-26 17:33:50
putrasaya kok gagal min? tulisannya gagal gitu doang apa yang slah tu min ???posting pada :2016-08-30 09:43:00
stevansangat bermenfaatposting pada :2016-09-08 09:52:04
FeiruzMantap gan.. its working!posting pada :2016-09-18 17:45:39
zetyoternyata mysql bikin pusing juga taposting pada :2016-09-23 22:12:02
selltiketcari Tiket Pesawat Murah? Dapatkan segera hanya di SELL TIKET.com Klik disini: <a href="http://selltiket.com" rel="nofollow">selltiket.com</a> Booking langsung tanpa antri... HARGA Di Jamin Murah!!! CEPAT,….TEPAT,….HARGA HEMAT! Ingin usaha menjadi agen tiket pesawat?? Yang memiliki potensi penghasilan tanpa batas. Bergabung segera di <a href="http://agen.selltiket.com" rel="nofollow">agen.selltiket.com</a> INFO LEBIH LANJUT HUBUNGI : No handphone : 085363402103 PIN : D364EDCBposting pada :2016-10-14 15:03:34
ahyantotrimakasih atas ilmu nya, sangat bermanfaat, posting pada :2016-10-25 13:23:05
Yusman Akihisa Oiya om saya mau nanyak ... oiya script yang delete kok gak bisa pakai $_POST kok cuman bisa pakai $_GET ... mohon bimbingannya :) makasih..posting pada :2016-11-10 16:51:02
AdminSdr Yusman, proses delete bukan tidak bisa pakai method post, tapi lebih simple pakai method GET. Jika menggunakan method POST, setiap link delete akan butuh TAG form, butuh hidden input sehingga akan cukup memberatkan. Dengan method GET, prosesnya lebih simple yaitu hanya dengan mengirimkan variable GET menuju link delete. Apakah kita khawatir link delete akan di akses secara langsung oleh pihak yang tidak bertanggung jawab, tentunya iya, oleh karena itu link delete dibatasi dengan hak akses. dimana link delete akan melakukan pemeriksaan session apakah yang mengaksesnya sudah login atau belum. Jika belum login, otomatis diarahkan ke halaman login.posting pada :2016-11-13 18:32:42
sadanTerima kasih sangat membantu. posting pada :2016-11-18 07:51:08
FajarKalau method GET diganti REQUEST ada script yang diubah gak mas ?posting pada :2016-11-18 19:41:47
yohanessaat pembuatan delete.php kok syntax error unexpetec variable '$ni'??posting pada :2016-11-22 12:39:40
Davitmaaf nh nin ane mau nanya tolong di jwab pliss maksud dari $ni = $_GET['ni']; ini apa posting pada :2016-12-02 07:32:04
Achmad maulana yusufperintah mysqli ini support untuk xampp berapa ya?posting pada :2016-12-08 21:37:19
Achmad Maulana YusufSangat membantu artikelnya minposting pada :2016-12-11 17:22:02
erwinterima kasih gan sangat membantuposting pada :2017-01-08 18:25:03
Imamgan, untuk tutorial crud pada 2 tabel gmn ya, terutama yg ada relasinya posting pada :2017-01-09 11:58:16
kelvinjika saya buka di localhost/kelvin/aksi.php bertuliskan gagal kenapa ya ? thanksposting pada :2017-01-13 09:53:57
arifgan mana polder jquery js and cs ny yaposting pada :2017-01-17 22:14:10
wisnumantaap sangat membantu posting pada :2017-02-17 16:48:47
suryatisyukron iyposting pada :2017-04-18 14:31:53
bapak nagaada gak gan cara untuk membuat tombol detele semua row pada tabel ? kalau yang ini kan satu satuposting pada :2017-05-21 13:14:55
Lukman Nul HakimGood artikel, saya juga punya artikel menarik mengenai CRUD, silahkan kunjungi http://kodemedan.blogspot.co.id/2017/06/memahami-serta-membuat-crud-sederhana.htmlposting pada :2017-06-19 20:02:07
VinaMaaf saya mau tanya, saya masih bingung kok database gak muncul yah? padahal saya sudah konek ke Xampp dan sudah buat database nya di PhpmyAdmin nah, itu salahnya dimana yah? terimakasihposting pada :2017-07-13 21:36:41
VinaMaaf saya mau tanya, saya masih bingung kok database gak muncul yah? padahal saya sudah konek ke Xampp dan sudah buat database nya di PhpmyAdmin nah, itu salahnya dimana yah? terimakasihposting pada :2017-07-13 21:36:57
VinaMaaf saya mau tanya, saya masih bingung kok database gak muncul yah? padahal saya sudah konek ke Xampp dan sudah buat database nya di PhpmyAdmin nah, itu salahnya dimana yah? terimakasihposting pada :2017-07-13 21:37:03
eki kustiadiboleh minta kontaknya :) terima kasih.posting pada :2017-07-29 23:59:48
dekkerMantap Sangat bermanfaat..posting pada :2017-08-11 23:30:08
Nama SayaOh gituposting pada :2017-10-27 14:38:35
         
     
         
 
         
   
         
   
 

Tulis komentar