CandraLab

IT Pro & Developer Resource

Menu Close

Fungsi PHP untuk menampilkan data MySQL

Menjadi programmer PHP itu punya banyak pilihan. Anda bisa menggunakan gaya koding OOP, MVC atau gaya prosedural. PHP juga memberi kebebasan dalam hal melakukan koneksi database dan cara menampilkan data dari tabel. Bagi yang sudah ahli, tentunya hal ini menjadi kenyamanan tersendiri karena banyak cara untuk melakukan satu hal. Namun sebaliknya, bagi programer pemula, fleksibilitas PHP ini justru membuat bingung karena banyaknya variasi kode untuk melakukan satu tugas.

Tutorial kali ini saya akan fokus pada fungsi PHP untuk menampilkan data di tabel MYSQL. Ada 3 cara untuk menampilkan data dari MySQL, cara pertama menggunakan mysql_fetch_row(), cara kedua menggunakan mysql_fetch_array() dan cara ketiga menggunakan mysql_fetch_object(). Fungsi ini biasanya dipakai dalam struktur looping while .

Untuk memudahkan memahami 3 fungsi diatas, saya akan memberi sample dengan contoh tabel dibawah ini.
database

Anggaplah anda ingin menampilkan nama dan alamat dari tabel kampus seperti diagram diatas. Bagaimana caranya? mari kita cek satu persatu dengan menggunakan 3 fungsi daitas.

mysql_fetch_row()

$sql="select nama,alamat from kampus";
$result=mysql_query($sql) or die(mysql_error());

while($kampus=mysql_fetch_row($result)){

echo $kampus['0']." alamatnya ".$kampus['1'];

}

mysql_fetch_array()

$sql="select nama,alamat from kampus";
$result=mysql_query($sql) or die(mysql_error());

while($kampus=mysql_fetch_array($result)){

echo $kampus['nama']." alamatnya ".$kampus['alamat'];

}

mysql_fetch_object()

$sql="select nama,alamat from kampus";
$result=mysql_query($sql) or die(mysql_error());

while($kampus=mysql_fetch_row($result)){

echo $kampus->nama." alamatnya ".$kampus->alamat;

}

3 cara diatas bisa anda pilih mana yang paling nyaman untuk anda pakai, namun secara pribadi saya lebih suka memilih cara ketiga dengan menggunakan fungsi mysql_fetch_oject().

Query 2 table

Jika anda perhatikan relasi tabel diatas, baik table kategori maupun tabel kampus punya kolom yang sama yaitu nama, bagaimana cara menampilkan kolom yang sama jika query terdiri dari 2 tabel? Saya akan beri contoh sederhana.

code ke 4

$sql="select kampus.nama,kampus.alamat,kategori.nama as nama_kategori
 from kampus,kategori
where kampus.idkategori=kategori.idkategori";
$result=mysql_query($sql) or die(mysql_error());

while($kampus=mysql_fetch_object($result)){

echo $kampus->nama."alamatnya ".$kampus->alamat." Kategorinya ".$kampus->nama_kategori;

}

Catatan penting disini, gunakan kata AS di query lebih dari satu table seperlunya saja. Berikut ini contoh query SQL yang tidak perlu

$sql="select k.nama as nama ,k.alamat as alamat,kat.nama as nama_kategori
 from kampus as k,kategori as kat
where k.idkategori=kat.idkategori";

Sebagai programer, biasakan kodingnya pendek namun mudah dibaca, jangan membiasakan memperpanjang kode untuk hal yang tidak perlu. Sayanngya, cara query seperti ini banyak diajarkan dibuku buku, sangat disayangkan. Namun, jika anda terbiasa dengan cara ini juga tidak apa apa, cara kedua ini sebenarnya bagus untuk query yang relasinya lebih dari 3 tabel, namun untuk query dibawah 3 tabel, saya sarankan tetap pakai cara kode keempat.

Semoga artikel ini membuat anda makin suka dengan php dan membuat kode anda lebih mudah dibaca dan di rawat. Happy coding!