BBL‍UE DROIDPLUSS
Sabtu, 03 April 2010

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.

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

If you can see this, then you might need a Flash Player upgrade or you need to install Flash Player if it's missing. Get Flash Player from Adobe.




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.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
<?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>