Log Of Oyazhuryachna

Menyimpan Value Form Checkbox ke MySQL Dalam Satu Field

checkbox_1

Perhatikan pada gambar diatas ! menurut anda seperti apakah tabel di mysql yang penulis buat untuk nyimpan pilihan hoby ??? ada dua kemungkinan jawaban yang akan anda ajukan, diantaranya :

kemungkinan pertama adalah tampak seperti pada gambar dibawah ini :

checkbox_2

JIka anda berfikir demikian maka jawaban anda salah ! terdapat kelemahan apabila bentuk tabel seperti itu, kelemahan utama adalah apabila jenis hoby nya bertambah maka anda sebagai programer harus merubah struktur tabel dan script aplikasi untuk mengakomodir perubahan karena ada penambahan hoby baru.

Kemungkinan jawab kedua dari struktur tabel adalah seperti pada gambar berikut :

checkbox_3

JIka jawaban anda seperti tabel diatas maka bisa dikatakan benar namun ada kelemahan yaitu terjadi redudansi bagi mahasiswa yang memiliki hoby lebih dari satu, dan yang pasti akan memuat banyak banyak, lalu seperti apakah bentuk tabel yang penulis buat untuk ditampilkan seperti pada gambar pertama ? berikut adalah bentuk tabel yang penulis buat :

checkbox_4

Dari tabel diatas setiap mahasiswa didata hoby nya dan disimpan dalam satu field dimana setiap hoby dipisahkan oleh tanda koma. Pertanyaan nya bagaiman proses penyimpanan ke dalam database nya ??

Untuk lebih jelasya silahkan download script yang penulis buat.

DOWNLOAD VIA DROPBOX

DOWNLOAD VIA GOOGLE DRIVE

Berikut penjelasan dari script yang telah anda download:

1. Membuat array untuk menampung jenis hoby

hoby_aray

2. membuat form untuk menampilkan kotak checkbox sesuai dengan banyaknya hoby yang disimpan di dalam array

hoby_cek_form

3. Membuat fungsi untuk memilih hoby yang dipilih oleh mahasiswa ketika dalam modus edit

hoby_fungsi_cek

4. Untuk menampilkan hoby didalam tabel sebelah kanan pada saat loop memecah kode hoby dan mencocokan dengan index array hoby :

loop_hoby

,

25 thoughts on “Menyimpan Value Form Checkbox ke MySQL Dalam Satu Field

Leave a Reply

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