Sebelum kita mulai membahas cara pembuatannya, ada baiknya Anda simak gambar berikut ini yang merupakan grand design studi kasus yang akan kita buat sebagai contoh input data simultan ini. Studi kasus yang saya ambil terkait dengan entri data mahasiswa.
Pertama, user diminta memasukkan jumlah data yang mau dientri terlebih dahulu (lihat gambar di bawah ini)
Kedua, setelah user memasukkan jumlah data yang mau dientri, selanjutnya muncul form dengan komponen entri sejumlah data yang tadi dimasukkan. Pada form inilah data yang mau disimpan ke database, dimasukkan.
Setelah form di atas disubmit, maka data akan tersimpan ke database, seperti tampak pada gambar berikut ini
Nah… bagaimana cara membuatnya?
Pertama kita siapkan dahulu tabel database MySQL nya. Pada studi kasus ini, kita buat simpel saja deh (cukup 2 field saja dulu)
1.
CREATE
TABLE
mhs (
2.
nim
varchar
(5),
3.
namamhs
varchar
(20),
4.
PRIMARY
KEY
(nim)
5.
);
form.html
1.
<
h1
>Input Data Mahasiswa</
h1
>
2.
3.
<
form
method
=
"post"
action
=
"submit.php"
>
4.
Jumlah Data <
input
type
=
"text"
name
=
"jum"
> <
input
type
=
"submit"
name
=
"submit"
value
=
"Submit"
>
5.
</
form
>
Berikutnya kita buat script untuk menampilkan komponen inputnya sejumlah data yang tadi dimasukkan pada form di atas. Konsepnya adalah kita gunakan looping untuk menampilkan komponen inputnya. Lantas… loopingnya dilakukan berapa kali? ya… sebanyak jumlah datanya donk.
submit.php
01.
Input Data Mahasiswa
02.
03.
04.
"1"
>
05.
NIM NAMA MHS
06.
07.
08.
$n
=
$_POST
[
'jum'
];
// membaca jumlah data
09.
10.
for
(
$i
=1;
$i
<=
$n
;
$i
++)
11.
{
12.
echo
"
"
;
13.
}
14.
?>
15.
16.
17.
18.
"hidden"
name=
"jum"
value=
""
>
19.
"submit"
name=
"submit"
value=
"Submit"
>
20.
1.
<
input
type
=
'text'
name
=
'nim".$i."'
>
1.
<
input
type
=
'text'
name
=
'nim1'
>
2.
<
input
type
=
'text'
name
=
'nim2'
>
3.
<
input
type
=
'text'
name
=
'nim3'
>
4.
.
5.
.
6.
dst
Kemudian, coba perhatikan pula bahwa di bagian akhir script terdapat perintah
1.
<
input
type
=
"hidden"
name
=
"jum"
value="">
$n
(banyaknya data). Nilai ini nanti akan ikut disubmit ke script berikutnya guna pemrosesan lebih lanjut.Terakhir.. kita buat script untuk insert datanya. Untuk membuat script insert data secara simultan ini, mungkin yang menjadi kendala adalah bagaimana cara membaca semua data yang telah diinputkan dalam form sebelumnya untuk kemudian disimpan ke dalam database. Adapun konsep pembacaan datanya adalah dengan menggunakan looping juga. Looping ini dilakukan sebanyak jumlah datanya (
$n
). Oleh karena itulah pada script ini kita butuh nilai $n
yang ikut tersubmit dari script sebelumnya.insert.php
01.
02.
03.
// koneksi ke mysql
04.
mysql_connect(
"dbhost"
,
"dbuser"
,
"dbpass"
);
05.
mysql_select_db(
"dbname"
);
06.
07.
$n
=
$_POST
[
'jum'
];
// membaca jumlah data
08.
09.
// looping
10.
for
(
$i
=1;
$i
<=
$n
;
$i
++)
11.
{
12.
$datanim
=
$_POST
[
'nim'
.
$i
];
13.
$datanama
=
$_POST
[
'nama'
.
$i
];
14.
15.
if
((!
empty
(
$datanim
)) && (!
empty
(
$datanama
)))
16.
{
17.
$query
=
"INSERT INTO mhs (nim, namamhs) VALUES ('$datanim', '$datanama')"
;
18.
$hasil
= mysql_query(
$query
);
19.
20.
if
(
$hasil
)
echo
"Input data sukses
"
;
21.
else
echo
"Input data gagal
"
;
22.
}
23.
}
24.
25.
?>
$datanim = $_POST['nim'.$i];
yang
terdapat dalam looping di atas. Perintah tersebut digunakan untuk
membaca value yang diinputkan dari komponen form bernama ‘nim1
‘, ‘nim2
‘, … dst. Hal yang sama juga berlaku untuk perintah $datanama = $_POST['nama'.$i];
. Setelah value NIM dan Nama Mhs dari komponen pertama (‘nim1
‘ dan ‘nama1
‘)
dibaca, selanjutnya baru disimpan ke database. Kemudian pembacaan dan
insert data ke database dilanjutkan pada komponen kedua (‘nim2
‘ dan ‘nama2
‘), begitu seterusnya sampai dengan komponen terakhir. Oya.. tambahan lagi, dalam script di atas juga terdapat statement
1.
if
((!
empty
(
$datanim
)) && (!
empty
(
$datanama
)))
2.
{
3.
...
4.
}
OK deh… demikian tadi ide untuk membuat script insert data ke database MySQL secara simultan melalui form dengan script PHP. Mudah-mudahan ada manfaatnya.
Oya, Anda juga bisa membaca artikel saya yang lain tentang cara update data secara simultan.
SUMBER: http://blog.rosihanari.net/input-data-ke-mysql-secara-simultan-via-form-dengan-php/
0 comments:
Post a Comment