SCRIPT PHP Untuk Edit Data Dengan Komponen RadioButton pada Form

Tutorial kali ini masih terkait dengan proses editing data melalui form yang langsung terintegrasi dengan database MySQL. Masalah yang diangkat pada tutorial ini adalah bagaimana membuat script PHP untuk mengedit data melalui form menggunakan komponen RadioButton.

Seperti yang kita tahu bahwa komponen RadioButton digunakan untuk memilih salah satu dari beberapa pilihan yang ada. Nah… yang jadi pertanyaan, bagaimana cara mengimplementasikannya dalam aplikasi edit data dengan form. So… hal ini akan dibahas tuntas pada tutorial kali ini.

Untuk studi kasus, kita mengambil contoh data mahasiswa yang terdiri dari NIM, NAMA MHS dan JENIS KELAMIN. Komponen RadioButton akan digunakan untuk mengubah JENIS KELAMIN ini.

Sumber: http://blog.rosihanari.net/script-php-untuk-edit-data-dengan-komponen-radiobutton-pada-form

Berikut ini adalah struktur tabel yang digunakan pada contoh ini

CREATE TABLE mhs (

nim varchar(10),

namaMhs varchar(30),

jnsKelamin varchar(20),

PRIMARY KEY (nim)

)

dengan sampel data sbb:

INSERT INTO mhs VALUES (‘M0197001′, ‘ROSIHAN ARI YUANA’, ‘Pria’);

INSERT INTO mhs VALUES (‘M0197002′, ‘DWI AMALIA FITRIANI’, ‘Wanita’);

INSERT INTO mhs VALUES (‘M0197003′, ‘FAZA FAUZAN KH.’, ‘Pria’);

INSERT INTO mhs VALUES (‘M0197004′, ‘NADA HASANAH’, ‘Wanita’);

INSERT INTO mhs VALUES (‘M0197005′, ‘MUH. AHSANI TAQWIM’, ‘Pria’);

Sebelum kita lanjutkan tutorial ini, ada baiknya Anda lihat terlebih dahulu preview dari hasil script yang akan kita buat.

Apabila kita perhatikan pada form proses edit, khususnya pada JENIS KELAMIN, maka RadioButton akan melakukan CHECKED sesuai dengan data. Sebagai contoh, misalkan kita akan mengedit mahasiswa bernama Rosihan Ari yang berjenis kelamin PRIA, maka begitu link EDIT diklik, akan muncul form edit dengan RadioButton langsung men-CHECKED pada PRIA.

Bagaimana membuat hal seperti tersebut di atas? Perhatikan script PHP berikut ini… dan ingat… jangan hanya asal copy and paste lalu jadi… tapi perhatikan komentar-komentarnya, karena komentar tersebut akan membantu Anda untuk mempelajari alur script.

<?php

// koneksi ke mysql

mysql_connect(“namahost”, “dbuser”, “dbpass”);

mysql_select_db(“dbname”);

// mendapatkan nilai dari parameter ‘op’ dari link

$op = $_GET['op'];

// bagian untuk proses edit

if ($op == “edit”)

{

// membaca nilai dari parameter ‘nim’ dari link

$nim = $_GET['nim'];

// query untuk menampilkan data mahasiswa dengan

// nim tertentu yang akan diedit via form

$query = “SELECT * FROM mhs WHERE nim = ‘$nim‘”;

$hasil = mysql_query($query);

$data  = mysql_fetch_array($hasil);

// setting untuk radio button jenis kelamin

// jika jenis kelamin pria, maka radiobutton pria dicek

if ($data['jnsKelamin'] == “Pria”)

{

$option1 = “<input type=\”radio\” name=\”sex\”

value=\”Pria\” checked>”;

$option2 = “<input type=\”radio\” name=\”sex\”

value=\”Wanita\”>”;

}

// jika jenis kelamin wanita, maka radiobutton wanita

// dicek

else if ($data['jnsKelamin'] == “Wanita”)

{

$option1 = “<input type=\”radio\” name=\”sex\”

value=\”Pria\”>”;

$option2 = “<input type=\”radio\” name=\”sex\”

value=\”Wanita\” checked>”;

}

// menampilkan data hasil query pada form edit

echo “<form method=\”post\” action=\”“.$_SERVER['PHP_SELF'].

“?op=update\”>”;

echo “<table border=\”1\”>”;

// menampilkan komponen edit data berisi nim

echo “<tr>

<td>NIM</td>

<td><input type=\”text\” name=\”nim\”

value=\”“.$data['nim'].”\”></td>

</tr>”;

// menampilkan komponen edit data berisi nama mhs

echo “<tr>

<td>Nama Mahasiswa</td>

<td>

<input type=\”text\” name=\”namaMhs\”

value=\”“.$data['namaMhs'].”\”>

</td>

</tr>”;

// menampilkan radiobutton edit untuk jenis kelamin

echo “<tr>

<td>Jenis Kelamin</td>

<td>Pria “.$option1.” Wanita “.$option2.”</td>

</tr>”;

echo “</table>”;

// komponen hidden berisi nim lama yang akan digunakan

// untuk kriteria dalam query update

echo “<input type=\”hidden\” name=\”nimLama\”

value=\”“.$data['nim'].”\”>”;

// menampilkan tombol submit

echo “<input type=\”submit\” name=\”submit\”

value=\”Simpan Perubahan\”>”;

echo “</form>”;

}

// proses update data setelah data diedit

else if ($op == “update”)

{

// membaca nim dari form edit

$nim = $_POST['nim'];

// membaca nama mahasiswa dari form edit

$namaMhs = $_POST['namaMhs'];

// membaca nim lama mhs dari form edit

$nimLama = $_POST['nimLama'];

// membaca jenis kelamin mhs dari form edit

$sex = $_POST['sex'];

// query update data

$query = “UPDATE mhs

SET nim = ‘$nim‘, namaMhs = ‘$namaMhs‘,

jnsKelamin = ‘$sex

WHERE nim = ‘$nimLama‘”;

$hasil = mysql_query($query);

// menampilkan status update

if ($hasil) echo “<p>Proses Update Sukses</p>”;

else echo “<p>Proses Update Gagal</p>”;

}

?>

<!— header tabel –>

<table border=”1″>

<tr>

<th>No</th>

<th>NIM</th>

<th>Nama Mahasiswa</th>

<th>Jenis Kelamin</th>

<th>Action</th>

</tr>

<?php

// nilai awal untuk no urut data dalam tabel

$no = 1;

// query untuk menampilkan semua data mahasiswa

$query = “SELECT * FROM mhs”;

$hasil = mysql_query($query);

while ($data = mysql_fetch_array($hasil))

{

echo “<tr>”;

// menampilkan no. urut data

echo “<td>”.$no.”</td>”;

// menampilkan nim mhs

echo “<td>”.$data['nim'].”</td>”;

// menampilkan nama mahasiswa

echo “<td>”.$data['namaMhs'].”</td>”;

// menampilkan jenis kelamin mhs

echo “<td>”.$data['jnsKelamin'].”</td>”;

// menampilkan link untuk proses edit

echo “<td>

<a href=\”“.$_SERVER['PHP_SELF'].

“?op=edit&nim=”.$data['nim'].”\”>

Edit

</a>

</td>”;

echo “</tr>”;

// increment untuk no. urut

$no++;

}

?>

</table>

Bagaimana, mudah bukan membuatnya? Ada pertanyaan dan ide terkait dengan tutorial ini, silakan share di bagian komentar di bawah ini.

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

WordPress.com Logo

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

Twitter picture

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

Facebook photo

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

Connecting to %s

Ikuti

Get every new post delivered to your Inbox.