Dasar Web programming: trik Insert & Update data untuk PHP Mysql


http://www.superchefblog.com/images/rachaelray_cartoon.png
Horray!! Mabok Query.. ;p

Untuk kali ini kita akan mencoba cara singkat penggunaan PHP untuk melakukan manipulasi data pada MySQL. Sederhananya kita cukup memahami 4 macam Query dasar, yaitu Insert, Update, Delete dan Select. Jika sudah mahir dengan keempat query tersebut, maka aplikasi apapun yang kita buat akan menjadi mudah dan sederhana. Hati2!! ini adalah jurus pamungkas yang harus dimiliki programmer web yang sukses. 🙂

Dalam pembahasan berikut, kita tidak akan membahas detil dari penggunaan Query. Tapi lebih dari itu, kita akan membahas yang ada kaitannya dengan pemrograman web dengan PHP.

Antara Insert dan Update?

Secara konsep Insert dan Update punya kesamaan, yaitu sama-sama memasukkan (input) data ke Table yang ada dari Database. Data tersebut didapatkan dari form submit yang telah diisikan oleh user. Sedangkan perbedaannya, jika Insert memasukkan data baru, tapi update adalah mengubah data lama dengan data baru. Dari perbedaan tersebut, kita bisa menyimpulkan beberapa hal:

  • Proses Insert, Inputan data dari user didapatkan dari form HTML. Kemudian data dimasukkan ke database sebagai data (record) baru.
  • Proses Update, Data yang akan diubah dipilih terlebih dahulu dari data table yang sudah ada. Kemudian ditampilkan pada form edit, untuk selanjutnya di update ke table pada database.

Silahkan direnungkan kembali penjelasan diatas, sehingga Anda bisa benar2 dapat memahami perbedaan dan persamaannya. Hal ini akan mempengaruhi proses dan trik yang akan kita gunakan. Gampang kaan..??

Membuat Form Input dengan HTML

Sebelum bicara lebih jauh tentang Insert dan Update, mari kita buat dulu tampilan untuk Input Data user. Agar mudah, mari kita gunakan form HTML. Misal kita akan gunakan 4 Inputan,

  • Nim, inputan nim mahasiswa dalam bentuk input text.
  • Nama, inputan nama mahasiswa dalam bentuk inputan text.
  • Alamat, inputan alamat mahasiswa dalam bentuk text area.
  • Jenis Kelamin, pilihan radio button untuk jenis kelamin Wanita atau Pria.

Berikut ini contoh form sederhana,

<form action="simpan.php" method="POST">
<div> 
 <label>Nim</label>
 <input type="text" id="xnim" name="xnim" /></div>
<div>
 <label>Nama</label>
 <input type="text" id="xnama" name="xnama" /></div>
<div>
 <label>Gender</label>
 <input type="radio" id="xgen" name="xgen" value="L" />
 Laki-Laki &nbsp;
 <input type="radio" id="xgen" name="xgen" value="W" />
 Wanita</div>
<div>
 <label>Alamat</label>
 <textarea id="xalamat" name="xalamat" > </textarea></div>
<div>
 <input type="submit"
  id="xsubmit" name="xsubmit" value="Simpan Data" /></div>
</form>

Perhatikan, contoh form diatas akan menuju file simpan.php untuk proses pengolahan query nya. Data inputan dikirimkan menggunakan method POST.

Step by Step Insert Data?

Berikut ini cara yang paling minimal bisa dilakukan untuk melakukan Insert data ke database.

  • Gunakan form input HTML untuk mengambil inputan data dari user. Form ini akan mengirimkan data yang telah disubmit ke simpan.php
  • Buat file simpan.php, dengan langkat berikut,
    1. Tangkap setiap variable form input yang dikirimkan, menggunakan $_POST.
    2. Buat Koneksi mysql php, dengan menggunakan function mysqli_connect();
    3. Buat Query Insert “Insert into blablabla…”
    4. eksekusi Query tersebut dengan function mysqli_query();
    5. selesai. cek jika hasil eksekusi Insert Anda berhasil atau gagal.
  • Tampilkan status berhasil atau gagal. Proses Selesai.

Jangan langsung melihat source PHP nya, tapi pahami dulu langkah-langkah diatas. Selanjutnya, berikut ini contoh sederhana dari langkah-langkah di atas pada file simpan.php,

<?php
//1.Tangkap Variable Form
$nim = $_POST['xnim'];
$nama = $_POST['xnama'];
$gender = $_POST['xgen'];
$alamat = $_POST['xalamat'];
?>

<?php
//2.Buat Koneksi ke DB MySQL
$host = "localhost";
$user = "root";
$password = null;
$conn = mysqli_connect($host,$user,$password);
if($conn){
  $mydb = mysqli_select_db('cobadata',$conn);
  echo "koneksi berhasil";
}else{
  echo "error koneksi";}
?>

<?php
//3.Insert SQL Data
$sqlinsert = "INSERT INTO mahasiswa (id,nim,nama,gender,alamat)
             VALUES (null,'$nim','$nama','$gender','$alamat')";
$result = mysqli_query($sqlinsert);
if($result){
  echo "berhasil menyimpan data";
}else{
  echo "simpan data gagal";
}

?>

Bagaimana dengan Update Data?

Caranya pasti gampang! :p Mari kita bicara Langkah pengerjaan (algoritma) yang sederhana,

  1. Cara data yang akan diedit pada tampilan list Data, berikan tombol/link edit yang akan menuju ke halaman form edit data. Tombol mengirimkan variable id (unik), untuk mempermudah query pencarian data yang akan di edit.
  2. Setelah itu tampilkan halaman Form edit data, mirip seperti Form input data, hanya saja pada Form edit setiap field form nya sudah terisi dengan data lama yang diambil dari database.
  3. Kemudian form akan di submit. Dan lakukan query Update untuk data tersebut. Selesai!
  4. Cukup 3 Step…

Jangan lupa untuk memahami alur sederhana diatas, sebelum meng-copy-paste code nya. Dari alur sederhana diatas masih bisa dikembangkan dan dimodifikasi sesuai selera dan kebutuhan. Kalau sudah paham alur prosesnya, maka studi kasus apapun yang berkaitan dengan proses update akan mudah dikerjakan.

Mari kita pandangi source code untuk halaman lihat data,

<?php //lihatdata.php ?>
<html>
<head>
  <title>Lihat Data Mahasiswa </title>
</head>
<body>

<?php //1. Buat Koneksi ke DB MySQL
$host = "localhost";
$user = "root";
$password = null;
$conn = mysql_connect($host,$user,$password);
  if($conn){ 
     $mydb = mysql_select_db('cobadata',$conn); 
     echo "koneksi berhasil";
  }else{    echo "error koneksi";}
 ?>

<?php //2. Query Select
    $sqlselect = "SELECT * FROM mahasiswa Order by nama ASC ";
$result = mysql_query($sqlselect) or die ("gagal");
  ?>
<table border=2>
<tr>
  <th>nim</th>
  <th>nama</th>
  <th>alamat</th>
  <th></th>
</tr>
<?php while ($row = mysql_fetch_array($result)){ ?>
 <tr>
    <td><?php echo $row['nim']?></td>
  <td><?php echo $row['nama']?></td>
  <td><?php echo $row['alamat']?></td>
  <td>  <a href="edit.php?id=<?php echo $row['id']?>">edit</a></td>
</tr>
<?php  }  ?>
</table>
<?php mysql_close($conn); ?>
</body>
</html> 

kemudian halaman form edit data,

<html>
<head>
  <title>Input Data Mahasiswa</title>
</head>
<body>
<?php
  $id = $_GET['id'];
  $nama = $_GET['nama'];
?>
<?php//1. Buat Koneksi ke DB MySQL
$host = "localhost";$user = "root";$password = null;
$conn = mysql_connect($host,$user,$password);
if($conn){
  $mydb = mysql_select_db('cobadata',$conn);
  echo "koneksi berhasil";}else{
    echo "error koneksi";}

//2. Query Select
$sqlselect = "SELECT * FROM mahasiswa WHERE id=$id ";
$result = mysql_query($sqlselect) or die ("gagal");
$row = mysql_fetch_array($result);
?>

<h2>Edit Data Mahasiswa(<?php echo $id" ?>)</h2>
<form action="simpan.php" method="POST">
<div> <label>Nim</label>
 <input type="text" id="xnim" name="xnim"
  value="<?php echo $row['nim']; ?>" /></div>
<div> <label>Nama</label>
 <input type="text" id="xnama" name="xnama"
  value="<?php echo $row['nama']; ?>" /></div>
<div> <label>Gender</label>
 <input type="radio" id="xgen" name="xgen" value="L"
  <?php echo ($row['gender']=='L')?"checked":"";?> />
  Laki-Laki &nbsp;
 <input type="radio" id="xgen" name="xgen" value="W"
  <?php echo ($row['gender']=='W')?"checked":"";?> />
  Wanita</div>
<div> <label>Alamat</label>
 <textarea id="xalamat" name="xalamat" >
  <?php echo $row['alamat']; ?> </textarea></div>
<div>
 <input type="submit" id="xsubmit"
 name="xsubmit" value="Simpan Data" /></div>

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

Untuk urusan submit inputan data ke Database, sama saja dengan proses insert atau create new data. Yang membedakan hanyalah penggunaan Query nya saja.

Selamat Mencoba! Gampangg kaaann.. 😀



Leave a Reply

Your email address will not be published. Required fields are marked *