Artikel ini merupakan lanjutan dari artikel sebelumnya tentang cara koneksi PHP ke MS. Access.
Topik yang akan dibahas dalam postingan saya diwaktu pagi hari setelah subuh kali ini mengenai bagaimana cara membuat script PHP untuk insert data ke MS. Access melalui sebuah form. Artikel ini sekaligus menjawab pertanyaan mas Rais (member saya). Maaf mas ya… baru sempat bikin artikelnya
OK… untuk pembahasan ini, kita ambil studi kasus saja yang lagi-lagi tentang data mahasiswa. Dalam contoh ini misalkan kita memiliki sebuah tabel, bernama ‘mhs’ yang di dalamnya terdapat 5 buah field yaitu NIM, NAMA MAHASISWA, TGL LAHIR,BERAT BADAN, dan IQ. Hmm.. field yang aneh ya? maklum untuk contoh ini saya coba membuat field dengan tipe data yang berbeda-beda. Kalau misalkan semuanya bertipe ‘string’ atau ‘text’ jadi gak menarik kasusnya.
Untuk NIM saya gunakan tipe data TEXT (diset sebagai PRIMARY KEY), NAMA MAHASISWA juga TEXT, TGL LAHIR saya gunakan tipe DATE/TIME, BERAT BADAN saya pilih NUMBER dalam hal ini bertipe SINGLE (bilangan real) dan IQ saya pilih NUMBER dalam hal ini LONG INTEGER atau INTEGER juga boleh.
Nah… untuk langkah pertama, silakan buat dahulu database dan tabelnya menggunakan MS. Access. Recordnya untuk sementara kosongkan saja, karena kita coba menginsert record melalui form yang kita buat dengan PHP dan HTML.
Langkah kedua silakan buat data source name di ODBC yang selanjutnya diarahkan ke file database MS. Access yang dibuat tersebut. Untuk panduannya silakan baca kembali artikel tentang cara koneksi PHP ke MS. Access.
Langkah ketiga, kita buat form untuk input datanya.
form.html
01.
<
h1
>Input Data Mahasiswa</
h1
>
02.
03.
<
form
method
=
"post"
action
=
"proses.php"
>
04.
<
table
>
05.
<
tr
><
td
>NIM</
td
><
td
><
input
type
=
"text"
name
=
"nim"
/></
td
></
tr
>
06.
<
tr
><
td
>Nama Mhs</
td
><
td
><
input
type
=
"text"
name
=
"nama"
/></
td
></
tr
>
07.
<
tr
><
td
>Tanggal Lahir</
td
><
td
><
input
type
=
"text"
name
=
"tgllahir"
/></
td
></
tr
>
08.
<
tr
><
td
>Berat (Kg)</
td
><
td
><
input
type
=
"text"
name
=
"berat"
/></
td
></
tr
>
09.
<
tr
><
td
>IQ</
td
><
td
><
input
type
=
"text"
name
=
"iq"
/></
td
></
tr
>
10.
<
tr
><
td
></
td
><
td
><
input
type
=
"submit"
name
=
"submit"
value
=
"Submit"
/></
td
></
tr
>
11.
</
table
>
12.
</
form
>
Langkah keempat, kita buat script PHP untuk memproses input datanya (memasukkan data ke MS. Access).
Pada prinsipnya, caranya sama seperti kita membuat script INSERT data dengan PHP + MySQL. Ini dia scriptnya.
proses.php
01.
<?php
02.
03.
// misalkan data source namenya 'mahasiswa', password dan username kosong
04.
$conn
= odbc_connect(
"mahasiswa"
,
""
,
""
);
05.
06.
$nim
=
$_POST
[
'nim'
];
07.
$nama
=
$_POST
[
'nama'
];
08.
$tgllahir
=
$_POST
[
'tgllahir'
];
09.
$berat
=
$_POST
[
'berat'
];
10.
$iq
=
$_POST
[
'iq'
];
11.
12.
$query
=
"INSERT INTO mhs VALUES ('$nim', '$nama', '$tgllahir', $berat, $iq)"
;
13.
$hasil
= odbc_exec(
$conn
,
$query
);
14.
15.
if
(
$hasil
)
echo
"Input data sukses"
;
16.
else
echo
"Input data gagal"
;
17.
18.
?>
Untuk input data berupa tanggal, Anda bisa menuliskan dalam format seperti di MySQL yaitu tahun-bulan-tanggal atau ‘YYYY-mm-dd’, misal: 1979-09-01 untuk menuliskan 1 September 1979 (ada apa ya dengan tanggal itu? )
Oya.. satu lagi, karena field NIM sebelumnya kita set sebagai PRIMARY KEY, maka bila Anda masukkan data NIM yang sama akan muncul pesan kesalahan seperti ini:
1.
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC Microsoft Access Driver] The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain duplicate data, remove the index, or redefine the index to permit duplicate entries and try again., SQL state 23000 in SQLExecDirect in F:\proses.php on line 12
2.
Input data gagal
1.
if
(
$hasil
)
echo
"Input data sukses"
;
2.
else
echo
"Input data gagal"
;
1.
$hasil
= odbc_exec(
$conn
,
$query
)
or
die
(
"Input Gagal"
);
1.
display_errors = On
1.
display_errors = Off
Nah.. mudah bukan membuatnya? Met mencoba aja ya.. Demikian mas Rais artikelnya, silakan mencoba. Mudah-mudahan tidak kecewa menjadi member saya ya
Source : http://blog.rosihanari.net/
makasi info nya gan..
BalasHapus