Mengakses Database
Agar dapat menggunakan database, tentunya pertama kali akan dibangun sebuah akses
pada database yang diinginkan. Dalam file akses.php3, coba ketikkan:
<?PHP
$connect = mysql_connect("localhost","root","php");
mysql_select_db("coba");
if (mysql_errno()) {
echo mysql_errno().": ".mysql_error()."\n";
exit;
}
mysql_close($connect);
?>
Kemudian, coba jalankan file akses.php3 tersebut. Jika file ini berhasil melakukan akses
ke database coba, maka pada layar tidak akan tampak pesan apapun. Kita akan
memahaminya baris demi baris.
$connect = mysql_connect("localhost","root","php");
Baris ini merupakan kunci untuk membuka koneksi dengan database. 'localhost'
menunjukkan host dimana database tersebut berada. 'root' merupakan login user yang
digunakan untuk masuk ke database. 'php' merupakan password dari user 'root' dalam
contoh di atas. Bagian password ini dapat dikosongkan jika login user bersangkutan tidak
memiliki password. Sedangkan '$connect' merupakan variabel yang berisi perintah
'mysql_connect( … )' tersebut. Variabel ini akan digunakan untuk mengakses server
database seperti untuk melakukan query, dan juga untuk menutup koneksi nantinya.
mysql_select_db("coba");
Baris ini akan memilih database yang akan digunakan. Baris ini setara dengan:
use coba;
Dengan selesainya pembahasan ini, maka berarti Anda telah dapat melakukan
pengaksesan database melalui PHP. Kita akan memasuki tahap berikutnya.
Perintah ini akan membuat tabel bernama coba dengan satu kolom bernama angka.
Kemudian kita akan membuat sebuah file, katakanlah bernama masukkan.php3, dengan
isi sebagai berikut:
<?PHP
$connect = mysql_connect("localhost","root","php");
mysql_select_db("coba");
if (mysql_errno()) {
echo mysql_errno().": ".mysql_error()."\n";
exit;
}
mysql_query("insert into coba values(10)");
mysql_close($connect);
?>
Perintah ini akan memasukkan nilai "10" pada tabel coba. Untuk memastikan bahwa
proses memasukkan data tadi berhasil, kita dapat melihatnya langsung melalui MySQL.
select * from coba;
Untuk membahas hal ini, kita akan mencoba melanjutkan dari contoh sebelumnya. Kita
akan mencoba "mengambil" nilai "10" yang tadi telah kita masukkan ke dalam database.
Kita akan membuat file lihat.php3 dengan isi:
<?PHP
$connect = mysql_connect("localhost","root","php");
mysql_select_db("coba");
if (mysql_errno()) {
echo mysql_errno().": ".mysql_error()."\n";
exit;
}
$result=mysql_query("select angka from coba");
$hasil=mysql_fetch_row($result);
echo $hasil[0];
mysql_close($connect);
?>
Anda akan melihat bahwa ada tiga baris perintah yang "baru". Kita akan memahaminya
satu per satu.
$result=mysql_query("select angka from coba");
Baris perintah ini akan mengambil data yang kita inginkan (seluruh field angka dari tabel
coba), dan memasukkannya ke dalam variabel $result. $result ini tidak dapat ditampilkan
secara langsung, karena di dalam satu variabel ini, semua field (dengan bermacam tipe
data yang ada) bercampur menjadi satu. Kita dapat "mengambil" data yang kita inginkan
itu dengan banyak cara, salah satunya adalah dengan:
$hasil=mysql_fetch_row($result);
Dengan baris perintah ini, $result yang pada mulanya bercampur-campur isinya (dapat
kita bayangkan bahwa isi dari $result ini adalah sebuah tabel) akan diambil satu baris
(record). Sedangkan $hasil sendiri sebetulnya adalah sebuah array, dimana elemen-
elemennya berisi satu sel (data dari sebuah field dan sebuah record).
Karena data yang kita ambil tadi hanya berisi satu field, maka dengan:
echo $hasil[0];
saja sudah cukup bagi kita untuk menampilkan hasil yang kita inginkan.
Lalu, bagaimana jika data yang akan kita tampilkan lebih dari satu baris - yang berarti
lebih dari satu record? Maka file lihat.php3 akan menjadi:
<?PHP
$connect = mysql_connect("localhost","root","php");
mysql_select_db("coba");
if (mysql_errno()) {
echo mysql_errno().": ".mysql_error()."\n";
exit;
}
$result=mysql_query("select angka from coba");
while($hasil=mysql_fetch_row($result)) {echo $hasil[0];}
mysql_close($connect);
?>
Cara lain yang dapat digunakan untuk “mengambil” data tersebut adalah menggunakan :
mysql_fetch_array($result)
mysql_fetch_object($result)
Contoh Aplikasi
Semua teori di atas hanyalah potongan-potongan yang dapat digunakan untuk menyusun
sebuah aplikasi yang lengkap. Oleh karena itu, dalam bagian ini akan dicoba dibuat
sebuah aplikasi sederhana yang menggabungkan PHP3, HTML, dan MySQL.
Contoh aplikasi ini berupa sebuah model polling on-line. Pengguna akan diminta untuk
memasukkan data dari pilihan yang tersedia. Setelah itu, setiap kali seorang pengguna
selesai memasukkan data, maka akan langsung muncul pula persentase hasil isian
kumulatif yang telah ada (termasuk yang baru saja dimasukkan).
Pertama kali, kita akan membuat tabel dalam database bernama 'modul' pada MySQL.
Pada prompt MySQL dapat diketikkan sebagai berikut:
CREATE TABLE modul (data varchar(10));
Dengan mengetikkan baris di atas, maka dalam database akan terbentuk sebuah tabel
bernama 'modul' dengan satu field yaitu 'data'.
Setelah itu, kita akan membuat file modul.php3 dengan isi sebagai berikut:
<?
echo "Tentukan pilihan dari tiga pilihan yang tersedia:<p>";
echo "<form method=post action='tampil.php3'>";
echo "<input type=radio name=nilai value='Satu'>Satu<br>";
echo "<input type=radio name=nilai value='Dua'>Dua<br>";
echo "<input type=radio name=nilai value='Tiga'>Tiga<br>";
echo "<input type=submit value=Kirim><br>";
echo "</form>";
?>
File modul.php3 ini sangat sederhana, ia hanya akan menampilkan 3 buah radio button
dengan isian Satu, Dua, dan Tiga. Melalui file ini, pengguna dapat memasukkan data
yang dipilihnya. Data dari file ini akan dikirimkan ke file tampil.php3.
$isian=array("Satu","Dua","Tiga");
echo "</table>";
?>
Kemudian bagian ini akan memasukkan data yang dipilih oleh pengguna. Data ini
dikirimkan oleh file modul.php3. Data ini dikirimkan dalam wujud sebuah variabel, yaitu
'$nilai'. Pada baris perintah di atas, isi dari variabel $nilai ini dimasukkan ke dalam tabel
modul.
$baris=mysql_query("select count(*) from modul");
$jumlah=mysql_fetch_row($baris);
$baris=$jumlah[0];
Pada bagian ini, akan diambil dari MySQL data mengenai jumlah seluruh data yang telah
dimasukkan. Data ini disimpan dalam variabel $baris.
$isian=array("Satu","Dua","Tiga");
Baris perintah ini akan membentuk sebuah array $isian dengan elemen-elemen: Satu,
Dua, dan Tiga.
echo "Hasil isian yang sudah ada:<p><table>";
for ($i=0;$i<count($isian);$i++) {
$result=mysql_query("
select count(*) from modul where data='$isian[$i]'
");
$hasil=mysql_fetch_row($result);
$besar=$hasil[0];
$persen=$besar*100/$baris;
$gambar=$persen*2;
echo "<tr><td>".$isian[$i]."</td><td>";
printf ("%6.2f",$persen);
echo " %</td><td><img src='statbar".$i.".gif' height='5'
width='$gambar'></td></tr>";
}
Pada bagian ini, terjadi sebuah looping, dengan bagian yang di-loop yaitu bagian yang
berada di dalam kurung "{}" sesudah for …. Looping dilakukan sebanyak jumlah elemen
array $isian, dalam hal ini tiga (3).
1. Mengambil jumlah data dari tabel 'modul' yang sesuai dengan elemen array.
Misalnya: Pada looping pertama, dihitung jumlah data 'Satu' yang ada dalam tabel
'modul', dan seterusnya.
Demikian penjelasan mengenai contoh aplikasi yang disajikan. Contoh aplikasi tersebut
akan mudah dipahami setelah dicoba bersama.