PHP Talk: CRUD Part 2

Pada PHP Talk: CRUD Part 1 telah dibahas 2 proses management database yaitu Create dan Read, namun Create disana dilakukan secara manual dari SQL compiler. Oleh karena itu, pada kesempatan kali ini saya akan meneruskan pembahasan proses management database terutama pada proses Create. Langkah awal pembangunan proses Create ini secara garis bersar sama seperti tutorial yang pertama, yaitu kita harus melakukan koneksi ke server MySQL dimana table yang akan kita isikan data terletak. Setelah koneksi ini terbentuk, maka barulah kita dapat memanipulasi data didalamnya dengan menggunakan MySQL query melalui PHP.

Jika teman-teman belum megikuti tutorial PHP Talk: CRUD Part 1, silahkan ikuti terlebih dahulu. Kenapa? Karna database dan file-file php yang dibuat disana akan digunakan kembali di tutorial ini. Ok.. jika teman-teman sudah mengikuti, mari kita muali saja tutorialnya..

1. Starter

Buatlah folder “insert” didalam folder “tutorialphp” pada C:\xampp\htdocs\tutorialphp. Jika sudah, buatlah 2 file php dan namakan masing-masing filenya dengan insert.php dan index.php

  • index.php adalah halaman utama untuk menginsertkan data mahasiswa diman dihalaman ini terdapat form tempat memasukan data mahasiswa
  • insert.php digunakan untuk menangkap hasil form yang masukan user pada index.php lalu memasukannya ke dalam database.

2. Ubah file index.php di folder tutorialphp

Tambahkan script berikut kedalam file index.php dalam folder turorialphp

if($_GET['status']=='berhasil'){

echo "Berhasil memasukan data ke dalam database!";

} else if($_GET['status']=='gagal'){

echo "Gagal memasukan data ke dalam database!";

}

Letakan script diatas setelah script include ‘config.php’; . Script diatas digunakan untuk memeriksa apakah ada method get dengan variabel status yang dikirimkan pasa saat membuka page ini. Jika ada dan bernilai”berhasil”, maka PHP akan mengembalikan nilai “Berhasil memasukan data ke dalam database!” dan akan mengembalikan nilai “Gagal memasukan data ke dalam database!” ketika variabel status dari GET method bernilai gagal. Jika salah satu kondisi tersebut terpenuhi, maka pesan ini akan tertampil di halaman utama.

Lalu tambahkan lagi diakhir script file index.php ini dengan script HTML berikut:

<a href=”insert/”>Tambah Data Mahasiswa</a>

Script diatas akan me-redirect halaman teman-teman ke suatu file yang ada di folder insert. Jika nama file tidak di sebutkan, maka secara default server akan me-redirect halaman ke index.php yang ada di folder tersebut. File index.php akan menjadi seperti ini setelah di ubah:

<?php

include ‘config.php’;

if($_GET['status']==’berhasil’){

echo “Berhasil memasukan data ke dalam database!”;

} else if($_GET['status']==’gagal’){

echo “Gagal memasukan data ke dalam database!”;

}

mysql_select_db(“tutorial”, $con) or die(“Databasenya Error”);

$table=”mahasiswa”; //nama table

$query = mysql_query(“SELECT * FROM $table”); // MySql Query buat me-retrieve semua field

echo “<table>

<caption>Data Mahasiswa</caption>

<thead>

<tr>

<th><strong>NIM</strong></th>

<th><strong>Nama</strong></th>

<th><strong>Prodi</strong></th>

<th><strong>Alamat</strong></th>

</tr>

</thead> “; // inisialisai table buat html, caption untuk tablenya, dan nama-nama field yang akan diinformasikan datanya

while($row = mysql_fetch_array($query,MYSQL_BOTH))

{

echo “<tr><td>”.$row['nim'].”</td><td>”.$row['nama']. “</td><td>”.$row['prodi'].”

</td><td>”.$row['alamat'].”</td></tr>”;

}// ini adalah perulangan pada php script yang mengulang script didalam while selama tidak ada data lagi dalam array, karena data yang diambil dari database berupa array.

echo “<tfoot><tr><td colspan=’4′>Dari database Mahasiswa</td></tr></tfoot>

</table>”;

?>

<a href=”insert/”>Tambah Data Mahasiswa</a>

3. Membuat Form untuk memasukan data

Buka file index.php dan isikan dengan script berikut:

<form action=”insert.php” method=”POST” >

<table>

<caption>Insert Data Mahasiswa</caption>

<tr>

<th><strong>NIM : </strong></th>

<th><input type=”text” name=”nim”></input></th>

</tr>

<tr>

<th><strong>Nama : </strong></th>

<th><input type=”text” name=”nama”></input></th>

</tr>

<tr>

<th><strong>Prodi : </strong></th>

<th><input type=”text” name=”prodi”></input></th>

</tr>

<tr>

<th><strong>Alamat : </strong></th>

<th><input type=”text” name=”alamat”></input></th>

</tr>

<tr>

<th><input type=’submit’ value=’Submit’></input></th>

</tr>

</table>

</form>

Sepertinay teman-teman sudah familiar ya dengan script diatas. Yup script diatas digunakan untuk membuat form yang action-nya insert.php dan pengiriman datanya dengan menggunakan method POST. Lalu didalamnya terdapat pembuatan table yang digunakan untuk mengatur tampilan form input user agar rapih. Dan yang terakhir terdapat tombol submit yang digunakan untuk menjalankan action dari form tersebut. Sampai sini teman-teman sudah membuat tamppilan awal untuk memasukan data, tetapi belum ada pengimplementasian dari tombol Submit tersebut. Ok mari sekarang kita buat.

4. Membaca data dari form dan meng-insertkan-nya kedalam database

Buka file insert.php dan isikan dengan script berikut:

<?php

include “../config.php”;

$nama = $_POST['nama'];

$nim = $_POST['nim'];

$alamat = $_POST['alamat'];

$prodi = $_POST['prodi'];

?>

Sampai sini teman-teman sudah membuat koneksi ke database dengan meng-includekan file  config.php yang terletak 1 folder sebelum folder untuk menyimpan file insert.php ini. Lalu terdapat 4 variabel yang masing-masing diisi dengan value yang ada dalam form. Karena method yang digunakan Form tersebut adalah POST maka kita gunakan $_POST untuk mengambil variable yang ada didalamnya. Tambahkan script diatas dengan script berikut:

mysql_select_db("tutorial", $con) or die("Databasenya Error");

if($query = mysql_query("INSERT INTO mahasiswa VALUES ('$nim','$nama','$prodi','$alamat')"))

{ header( 'Location: ../?status=berhasil' ) ; }

else

header( 'Location: ../?status=gagal' ) ;

mysql_close($con);

Script diatas pertama-tama akan men-select database dengan nama tutorial. Lalu dengan meletakan fungsi mysql_query dalam fungsi if yang digunakan untuk meminimalisasi terjadinya error MySQL, kita memasukan data yang sudah ditangkap tadi ke dalam database dengan query INSERT INTO. Jika query berhasil dijalankan maka header akan diset/ di redirect ke “../?status=berhasil” jika gagal akan diredirect ke “../?status=gagal”. Kenapa begitu? Karena kita akan mengirimkan variabel status sebagai method GET ke halaman sebelum folder ini. Jika file halaman tidak di sebutkan, maka secara default, server akan me-redirect ke file index.php yang ada dakam folder tersebut. Berikut Script fullnya dari file insert.php ini:

<?php

include “../config.php”;

$nama = $_POST['nama'];

$nim = $_POST['nim'];

$alamat = $_POST['alamat'];

$prodi = $_POST['prodi'];

mysql_select_db(“tutorial”, $con) or die(“Databasenya Error”);

if($query = mysql_query(“INSERT INTO mahasiswa VALUES (‘$nim’,'$nama’,'$prodi’,'$alamat’)”))

{header( ‘Location: ../?status=berhasil’ ) ;}

else

header( ‘Location: ../?status=gagal’ ) ;

mysql_close($con)

?>

Jika sudah selesai melakukan semua langkah-langkah diatas dengan benar, silahkan buka http://localhost/tutorialphp/. Klik Tambah Data Mahasiswa, dan cobalan isikan data sembarang. Setelah itu klik tombol submit. Lihat apa yang terjadi dengan table pada halaman utama. Selamat! anda telah berhasil mengikuti tutorial ini. Tutorial selanjutnya akan membahas tentang Update.

Anda bisa mendukung saya untuk tetap melakukan update tutorial dengan cara mem-follow blog saya, atau mem-follow twitter saya disini, bisa juga dengan meninggalkan komentar dan atau me-request tutorial yang anda inginkan. Best regards, eSDhee


Advertisements

6 thoughts on “PHP Talk: CRUD Part 2

  1. Pingback: PHP Talk: How To Retrieve data from Database « eSDhee weBlog

  2. Pingback: PHP Talk: CRUD Part 1 « eSDhee weBlog

  3. Pingback: PHP Talk: CRUD Part 3 « eSDhee weBlog

  4. Pingback: PHP Talk: CRUD Part 4 (FINAL) | eSDhee weBlog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s