Pada prinsipnya Visual Foxpro, Visual Dbase dan Dbase II adalah sama, yaitu program
yang sama-sama menggunakan database jenis DBASE. DBASE adalah salah satu jenis
database yang cukup banyak digunakan di Indonesia. Ekstensi file-file DBASE adalah
*.dbf. Sebelum Anda melakukan trik-trik pada bagian ini, pastikan Anda telah melakukan
konfigurasi DBASE dengan benar.
Setting untuk Mengakses Database DBASE
Berikut ini adalah setting di file konfigurasi php.ini agar dapat mengakses database
DBASE, ikuti langkah-langkah dibawah ini:
1. Buka file php.ini (c:\apache\php\php.ini) melalui Notepad.
2. Cari baris kode: ;extension=php_dbase.dll, lalu hilangkan tanda semicolon (;) di
depan kode tersebut. Lihat gambar berikut.
Setelah Anda selesai menggunakan sebuah tabel DBASE, anda harus menutup akses
ke tabel atau memutuskan koneksinya, gunakan fungsi:
dbase_close(pengenal_tabel);
Agar Anda tahu cara menggunakan fungsi-fungsi diatas, cobalah skrip berikut: (Namun,
sebelumnya Anda harus membuat tabel terlebih dahulu di Visual Foxpro dengan nama:
table1.dbf)
Skrip Foxpro.php
<?php
echo("<TITLE>Tabel Rekapitulasi Dana UGM</TITLE>");
$foxpro=dbase_open("C:\\VFPRO5\\rekapitulasi\\table1.dbf",0);
if ($foxpro)
{
echo("<TABLE BORDER=1>");
echo("<CAPTION><B>Rekapitulasi Dana Masyarakat UGM</B></CAPTION>");
echo("<TR>");
echo("<TH>Unit Kerja</TH>");
echo("<TH>Pendidikan</TH>");
echo("<TH>Kesejahteraan Mahasiswa</TH>");
echo("<TH>Penelitian</TH>");
echo("<TH>Kerumahtanggaan</TH>");
echo("<TH>Jumlah</TH></TR>");
$jmlrecord=dbase_numrecords($foxpro);
$jmlfield=dbase_numfields($foxpro);
for ($indeks=1;$indeks<=$jmlrecord;$indeks++)
{
$data=dbase_get_record($foxpro,$indeks);
echo("<TR>");
for ($indeks1=0;$indeks1<$jmlfield;$indeks1++)
{
echo("<TD>$data[$indeks1]</TD>");
}
echo ("</TR>");
}
echo ("</TABLE>");
dbase_close($foxpro);}
?>
Catatan:
nama_tabel harus berekstensi *.dbf
array_fields adalah array yang kita buat sendiri, yang berisi tentang nama_field, tipe
data field, ukuran field, dan jumlah digit dibelakang koma.
Tipe data sebuah field bisa merupakan salah satu dari tabel berikut:
Tipe
data
C
L
D
Penggunaan
Character. Untuk data string.
Logical. Untuk data Boolean, yang punya dua nilai, true
atau false.
Date. Untuk menyatakan data tanggal.Format YYYYMMDD, 4
digit awal untuk tahun, 2 digit berikutnya untuk bulan,
dan 2 digit terakhir untuk tanggal.
Number. Untuk data yang berupa angka. Formatnya a,b.
dimana a adalah jumlah seluruh digit( termasuk tanda koma
dan
digit dibelakang koma), sedangkan b adalah jumlah
digit dibelakang koma.
Kemudian setelah membuat tabel melalui skrip PHP, Anda juga bisa menambahkan
recordnya, gunakan fungsi:
dbase_add_record(pengenal_tabel,array_record);
array_record beranggotakan data-data tiap field. Untuk lebih memahaminya, cobalah
skrip berikut:
Skrip BuatDbase.php
<?php
$array_field=array(array("Nim","C",5),array("Nama","C",30),array("Tgl_l
ahir","D"),array("Jml_SKS","N",3, 0),array("IP","N",4,2));
$mahasiswa=dbase_create("mahasiswa.dbf",$array_field);
if(!$mahasiswa)
{
echo("Tabel gagal dibuat!!");
exit;
}
$mahasiswa=dbase_open("mahasiswa.dbf",2);
$data_record=array("02190","Yudi Irawan","19790305",60 , 3.25);
dbase_add_record($mahasiswa,$data_record);
$data_record=array("02191","Tri Aji Hartarto","19781210",62 , 3.01);
dbase_add_record($mahasiswa,$data_record);
$data_record=array("02240","Muslikh Anshari","19791109",62 , 3.33);
dbase_add_record($mahasiswa,$data_record);
echo("<TABLE BORDER=1>");
echo("<CAPTION><B>Tabel Data Mahasiswa</B></CAPTION>");
echo("<TR>");
echo("<TH>No.Induk Mahasiswa</TH>");
echo("<TH>Nama Mahasiswa</TH>");
echo("<TH>Tanggal Lahir</TH>");
echo("<TH>Jumlah SKS</TH>");
echo("<TH>Indeks Prestasi</TH>");
$jmlrecord=dbase_numrecords($mahasiswa);
for($indeks=1;$indeks<=$jmlrecord;$indeks++)
{
$data=dbase_get_record($mahasiswa,$indeks);
echo("<TR>");
echo("<TD>$data[0]</TD>");
echo("<TD>$data[1]</TD>");
echo("<TD>$data[2]</TD>");
echo("<TD>$data[3]</TD>");
echo("<TD>$data[4]</TD>");
echo("</TR>");
}
echo ("</TABLE>");
dbase_close($mahasiswa);
?>
Catatan:
Enam baris kode di atas hanya untuk mengganti format tanggal sebuah record, yaitu
record pertama. Untuk record berikutnya, dengan cara yang sama, silahkan Anda
mencobanya sendiri.
Catatan:
Pada skrip Ganti.php, kita telah melakukan penghapusan data mahasiswa di record 3,
yaitu: Muslikh Anshari dengan NIM: 02240. Selain itu, kita juga melakukan pengubahan
data pada record 1, di kolom Tanggal Lahir, Jumlah SKS dan Indeks Prestasi (lihat lagi
gambarnya).