Pada tutorial skrip sebelumnya kita telah belajar cara membuat koneksi sampai membuat tabel, database serta menambah data melalui skrip php, dan pada tutorial ini kita akan belajar cara menampilkan data database MySQL PHP.
Jika belum mempunyai server untuk menjalankan skrip PHP, silahkan anda mengunjungi tutorial ” Cara Install XAMPP Web Server di Windows “.
Cara Menampilkan Data di Tabel Database
Data dapat diambil dari tabel MySQL di PHP dengan mengeksekusi pernyataan SQL SELECT
melalui fungsi mysql_query
. Kita memiliki beberapa pilihan untuk mengambil data dari MySQL, dan akan kita bahas satu persatu.
Untuk menarik baris data dalam tabel, pilihan yang paling sering digunakan adalah dengan menggunakan fungsi mysql_fetch_array ()
. Fungsi ini mengembalikan baris data sebagai array asosiatif, array numerik, atau keduanya. Fungsi ini mengembalikan FALSE jika tidak ada lagi baris yang ditemukan.
Di bawah ini adalah contoh skrip sederhana untuk mengambil data dari tabel karyawan.
<?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $koneksi = mysql_connect($dbhost, $dbuser, $dbpass); if(! $koneksi ) { die('Gagal Koneksi: ' . mysql_error()); } $sql = 'SELECT id_karyawan, nama_karyawan, gaji_karyawan FROM karyawan'; mysql_select_db('test_db'); $ambildata = mysql_query( $sql, $koneksi); if(! $ambildata ) { die('Gagal ambil data: ' . mysql_error()); } while($row = mysql_fetch_array($ambildata, MYSQL_ASSOC)) { echo "ID KARYAWAN :{$row['id_karyawan']} <br> ". "NAMA KARYAWAN : {$row['nama_karyawan']} <br> ". "GAJI KARYAWAN : {$row['gaji_karyawan']} <br> ". "--------------------------------<br>"; } echo "Berhasil ambil data\n"; mysql_close($koneksi); ?>
Hasilnya akan seperti gambar dibawah ini:
Isi dari baris telah diserahkan kepada variabel $row
dan nilai-nilai secara berturut-turut kemudian dicetak.
Dalam contoh di atas MYSQL_ASSOC
digunakan sebagai argumen kedua untuk mysql_fetch_array ()
, sehingga mengembalikan baris sebagai array asosiatif. Dengan array asosiatif kita dapat mengakses kolom dengan menggunakan nama kolom daripada menggunakan indeks.
Sumber: PHP mysql_fetch_array
Cara 2 Menampilkan Data di Tabel Database
PHP menyediakan fungsi lain yang disebut mysql_fetch_assoc ()
yang juga mengembalikan baris sebagai array asosiatif. Coba contoh skrip berikut untuk menampilkan semua data dari tabel karyawan dengan menggunakan fungsi mysql_fetch_assoc ()
.
<?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $koneksi = mysql_connect($dbhost, $dbuser, $dbpass); if(! $koneksi ) { die('Gagal Koneksi: ' . mysql_error()); } $sql = 'SELECT id_karyawan, nama_karyawan, gaji_karyawan FROM karyawan'; mysql_select_db('test_db'); $ambildata = mysql_query( $sql, $koneksi); if(! $ambildata ) { die('Gagal ambil data: ' . mysql_error()); } while($row = mysql_fetch_assoc($ambildata)) { echo "ID KARYAWAN :{$row['id_karyawan']} <br> ". "NAMA KARYAWAN : {$row['nama_karyawan']} <br> ". "GAJI KARYAWAN : {$row['gaji_karyawan']} <br> ". "--------------------------------<br>"; } echo "Berhasil ambil data\n"; mysql_close($koneksi); ?>
Cara 3 Menampilkan Data di Tabel Database
Kita juga dapat menggunakan MYSQL_NUM
, sebagai argumen kedua untuk mysql_fetch_array ()
. Hal ini akan menyebabkan fungsi akan mengembalikan array dengan indeks numerik.
Coba contoh skrip berikut untuk menampilkan semua data dari tabel karyawan menggunakan argumen MYSQL_NUM
.
<?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $koneksi = mysql_connect($dbhost, $dbuser, $dbpass); if(! $koneksi ) { die('Gagal Koneksi: ' . mysql_error()); } $sql = 'SELECT id_karyawan, nama_karyawan, gaji_karyawan FROM karyawan'; mysql_select_db('test_db'); $ambildata = mysql_query( $sql, $koneksi); if(! $ambildata ) { die('Gagal ambil data: ' . mysql_error()); } while($row = mysql_fetch_array($ambildata, MYSQL_NUM)) { echo "ID KARYAWAN :{$row[0]} <br> ". "NAMA KARYAWAN : {$row[1]} <br> ". "GAJI KARYAWAN : {$row[2]} <br> ". "--------------------------------<br>"; } echo "Berhasil ambil data\n"; mysql_close($koneksi); ?>
Semua ketiga contoh cara diatas akan menghasilkan hasil yang sama, tinggal anda lebih nyaman memakai teknik yang mana.
Membebaskan Memori diakhir ambil data
Sangat disarankan untuk membebaskan memori pada akhir setiap pernyataan SELECT
. Hal ini dapat dilakukan dengan menggunakan fungsi PHP mysql_free_result ()
. Di bawah ini adalah contoh untuk menunjukkan bagaimana cara menggunakan-nya.
<?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $koneksi = mysql_connect($dbhost, $dbuser, $dbpass); if(! $koneksi ) { die('Gagal Koneksi: ' . mysql_error()); } $sql = 'SELECT id_karyawan, nama_karyawan, gaji_karyawan FROM karyawan'; mysql_select_db('test_db'); $ambildata = mysql_query( $sql, $koneksi); if(! $ambildata ) { die('Gagal ambil data: ' . mysql_error()); } while($row = mysql_fetch_array($ambildata, MYSQL_NUM)) { echo "ID KARYAWAN :{$row[0]} <br> ". "NAMA KARYAWAN : {$row[1]} <br> ". "GAJI KARYAWAN : {$row[2]} <br> ". "--------------------------------<br>"; } mysql_free_result($ambildata); echo "Berhasil ambil data\n"; mysql_close($koneksi); ?>
Ketika mengambil data kita dapat mengetik skrip perintah SQL serumit yang kita inginkan. Prosedur akan tetap sama seperti yang disebutkan di atas.
Happy Nyekrip!
terima kasih bro tutorny sangat membangu saya yan sewadng belajar php, kalau tidak membebaskan memori apakah akan berat loadingnya
jika banyak select, maka akan sangat membantu. :)
Pingback: Tutorial Lengkap Belajar PHP MySQL Untuk Pemula |
masbro mau tanya, klo untuk menampilkan data dari yang terbawah/ terbaru inputannya, ke data yang teratas/ terlama gimana ya? makasih…
pakai metode ascending ASC atau descending DSC pada number primary key
terima kasih sekali pak
ini saya belajar untuk pertama kalinya dan berhasil dgn mengcopy code bpk di atas
sekarang lagi nyari cara ngerapiin dgn css pak :)
silahkan dicari di web ini :)
bro.,
kok yang tampil cuma bagian “Berhasil ambil data” ya…
Dibagian echo sama sekali gk muncul.
Kira-kira kenapa ? -_-“
mungkin isi tabel masih kosong kali gan? :)
Bagus… !!!
Agan tanya ya…
Kalo mau melakukan penjumlahan untuk larik gmn ya ?
Trimaksie
kenapa yang ke display data pertama doang ya?
mungkinkah datanya cuma satu? :(
Semisal saya mau ambil satu baris data saja di tabel database nya gmn..?
pakai limit :) select * from grid_karyawan limit 1
makasih bang !
artikelnya sangat membantu sekali bagi saya yang masih awam gan, pengen beljar lebih nih mengenai skrip, makasih banyak ya
bro, kalo mau nampilin data hanya orang yang nginputin sendiri caranya gimana ya ? jadi user nginputin data, nah itu biar datanya dia doang yg ditampilin. makasih sebelumnya bang
setiap dia isi data, rekam juga id dia…. nah pas query nanti sortir sesuai id dia.. :)
bro boleh buatin caranya ga yaa… lagi butuh juga
nanti kalau sempat diusahakan ya..
Terimakasih min informasinya sangat bermanfaat.. keep update ya
ijin ninggalin jejak
Terima kasih penjelasanx.. sukses selalu nyekrip.com
terima kasih tutorialnya..sangat membantu…
saya mau tanya..
misalnya saya punya file a.php file ini menyuruh user memilih nama yang datanya ingin dilihat, ketika nama di klik/di pilih..akan membuka file b.php dan menampilkan data dari nama yg dipilih td…
method atau kondisi yg digunakan gimana ya..???
mohon pencerahannya..terima kasih
Mas Bro, mau tanya, untuk mengambil data dari database yang baru diinput scriptnya gimana ya? Terima kasih…
cara melihat database suatu web, contohnya uber atau grab caranya gmana ya,, saya mau lihat sepupu saya aja hehe coba coba
bang, pernah nemuin kasus tampilan blank, tabel ga muncul karena data yang mau ditampilin ada banyak 4000an. Solusinya kira2 gimana ya?
harusnya tetep muncul, beda kalau memorynya yang g cukup.. coba di batasin aja per pagenya.. jangan 4000 di buka semua..
Maaf, saya baru belajar PHP, untuk merubah/mengganti hasil data yg tampil/diambil menjadi variabel bagaimana, mas?
Kalau seperti ini kok tidak jalan
$gaji = {$row[2]}
echo $gaji;
Terima kasih.