Pada
bab sebelumnya Anda
telah belajar bagaimana
konsep menyisipkan data
atau record ke dalam tabel database MySQL. Sekarang kita lanjutkan ke
konsep bagaimana menampilkan data yang ada di database MySQL dengan script PHP.
Konsep
menampilkan data dengan script PHP ini adalah menggabungkan query SELECT
di SQL yang dijalankan dalam script PHP.
Konsep dasar menampilkan data dengan script
PHP ini adalah
1.
Buat query
SQL untuk menampilkan data (gunakan SELECT)
2.
Jalankan
query tersebut dengan menggunakan mysql_query() di PHP
3.
Baca data
hasil query tersebut dengan proses fetching. Gunakan perintah
mysql_fetch_array() di PHP. Hasil dari mysql_fetch_array() ini adalah suatu
nilai dalam bentuk array asosiatif dengan nama field tabel sebagai indeksnya.
4.
Tampilkan
data dari proses fetching sesuai nama field yang ada dalam array.
5.
Langsung
saja, dalam pembahasan
bab ini akan
saya berikan contohnya
untuk menampilkan data semua peserta yang telah registrasi sesuai kasus
yang diberikan pada Bab 17. Sehingga dalam hal ini, struktur tabelnya sama
dengan kasus yang dibahas pada Bab 17.
Dalam contoh
ini, kita akan mencoba menampilkan data peserta khususnya pada field Nama
Peserta, Tanggal Lahir, Jenis Kelamin, Alamat, Tanggal Daftar, dan Tempat
Lahir.
Langkah pertama,
kita siapkan terlebih dahulu script untuk koneksi ke MySQL nya dan ke
databasenya.
koneksi.php
<?php
mysql_connect("localhost",
"root", "root");
mysql_select_db("contoh");
?>
Catatan: sesuaikan nama username, password
dan nama database yang Anda gunakan.
Langkah kedua, kita bisa mulai membuat
script untuk menampilkan datanya.
view.php
<html>
<head>
<title>Data Peserta</title>
</head>
<body>
<h1>Data Peserta</h1>
<table border="1">
<tr><th>Nama
Lahir</th><th>Alamat</th>
Peserta</th><th>Tgl
Lahir</th><th>Tempat
<th>Jenis Kelamin</th><th>Tgl
Daftar</th></tr>
// letak script menampilkan data //
</table>
</body>
</html>
Script di atas baru membuat judul tabel
untuk menampilkan datanya. Sekarang barulah kita buat script untuk menampilkan
datanya.
view.php
<html>
<head>
<title>Data Peserta</title>
</head>
<body>
<h1>Data Peserta</h1>
<table border="1">
<tr><th>Nama
Lahir</th><th>Alamat</th>
Peserta</th><th>Tgl
Lahir</th><th>Tempat
<th>Jenis Kelamin</th><th>Tgl
Daftar</th></tr>
<?php
include "koneksi.php";
$query = "SELECT * FROM peserta";
$hasil = mysql_query($query);
while ($data = mysql_fetch_array($hasil))
{
echo
"<tr><td>".$data['namaPeserta']."</td><td>".$data['tglLahir']."</td>
<td>".$data['tmptLahir']."</td><td>".$data['alamat']."</td>
<td>".$data['sex']."</td><td>".$data['tglDaftar']."</td></tr>";
}
?>
</table>
</body>
</html>
Keterangan:
Dalam melakukan proses fetching data
menggunakan mysql_fetch_array() dilakukan per baris data dari hasil query.
Sehingga untuk memfetching semua data hasil query, kita gunakan looping WHILE.
Selama masih ada baris data hasil query
yang bisa difetch, maka looping ini akan terus berjalan dan baru akan berhenti
bila sudah tidak ada baris lagi yang bisa difetch (akhir dari baris data).
Setiap kali data difetch, selanjutnya
langsung ditampilkan dengan echo.
Catatan:
Bila data hasil query SELECT hanya terdiri dari sebuah baris data,
maka Anda tidak perlu menggunakan looping WHILE.
Array
$data['namaPeserta']
digunakan untuk menampilkan data terkait dengan field
‘namaPeserta’ yang ada dalam tabel.
PENTING!!
Besar kecilnya
huruf dalam indeks
array harus sama
dengan nama fieldnya.
Jika tulisannya berbeda, maka data tidak akan muncul.
Hasil
dari script view.php di atas adalah sebagai berikut
Berikut
adalah contoh program yang digunakan menampilkan data dari database menggunakan
script php.
1.
Menampilkan
berdasarkan jenis kelamin
Program
//Jenis kelamin.php
<form method="post"
action="tampil.php">
<input type="radio" name="gender"
value="male"> Laki-laki <br>
<input type="radio" name="gender"
value="female"> Perempuan <br>
<input type="submit" name="submit"
value="submit">
</form>
//konek.php
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("DataPeserta");
?>
//tampil.php
<table border="1">
<tr>
<th>
No </th>
<th>
Nama Peserta </th>
<th>
Tgl Lahir </th>
<th>
Alamat </th>
<th>
Jenis Kelamin </th>
<th>
Tgl Daftar </th>
</tr>
<?php
include
"konek.php";
$gender=$_POST['gender'];
if($gender==male)
$query="SELECT * FROM peserta WHERE Jenis_Kelamin LIKE '%L%'";
else
if($gender==female)
$query="SELECT * FROM peserta WHERE Jenis_Kelamin LIKE '%P%'";
$hasil=mysql_query($query);
while($data=mysql_fetch_array($hasil)){
echo"
<tr>
<td>".$data['No']."</td>
<td>".$data['Nama_Peserta']."</td>
<td>".$data['Tgl_Lahir']."</td>
<td>".$data['Alamat']."</td>
<td>".$data['Jenis_Kelamin']."</td>
<td>".$data['Tgl_Daftar']."</td>
</tr>";
}
?>
</table>
Database
Hasil
Pilih laki-laki pada radiobutton
Kemudian submit
Pilih perempuan
Klik submit
2.
Menampilkan
berdasarkan nama
Program
//nama.php
<form method="POST"
action="tampil.php">
Masukan nama
yang dicari <input type="text" name="nama"><br>
<input
type="submit" name="submit" value="submit">
</form>
//tampil.php
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("DataPeserta");
?>
<table border="1">
<tr>
<th>
No </th>
<th>
Nama Peserta </th>
<th>
Tgl Lahir </th>
<th>
Alamat </th>
<th>
Jenis Kelamin </th>
<th>
Tgl Daftar </th>
</tr>
<?php
$nama=$_POST['nama'];
$jmldata=0;
$query="SELECT * FROM peserta WHERE Nama_Peserta LIKE
'%$nama%'";
$hasil=mysql_query($query);
while($data=mysql_fetch_array($hasil)){
echo"
<tr>
<td>".$data['No']."</td>
<td>".$data['Nama_Peserta']."</td>
<td>".$data['Tgl_Lahir']."</td>
<td>".$data['Alamat']."</td>
<td>".$data['Jenis_Kelamin']."</td>
<td>".$data['Tgl_Daftar']."</td>
</tr>";
$jmldata++;
}
echo
"<table border='0'>
<tr>
<td>
Jumlah
Data : $jmldata
</td>
</tr>
</table>";
?>
</table>
Hasil
form nama
Tampilan data base berdasarkan nama
Database
3.
Mengurutkan
data berdasarkan tanggal pendaftaran
Program
//tampilan.php
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("DataPeserta");
$warnaGenap =
"#CCCCCC"; // warna abu-abu
$warnaGanjil =
"#FFFFFF"; // warna putih
$warnaHeading
= "#ff0000"; //hijau
?>
<table border="1">
<?php
echo"
<tr bgcolor='\".$warnaHeading.\"'>
<th>
No </th>
<th>
Nama Peserta </th>
<th>
Tgl Lahir </th>
<th>
Alamat </th>
<th>
Jenis Kelamin </th>
<th>
Tgl Daftar </th>
</tr>";
$jmldatasemua=0;
$jmldatal=0;
$jmldatap=0;
$counter=1;
$query="SELECT * FROM peserta ORDER BY Tgl_Daftar DESC, No
ASC";
$hasil=mysql_query($query);
while($data=mysql_fetch_array($hasil)){
if($counter%2==0)
$warna=$warnaGenap;
else
$warna=$warnaGanjil;
echo"
<tr
bgcolor=".$warna.">
<td>".$data['No']."</td>
<td>".$data['Nama_Peserta']."</td>
<td>".$data['Tgl_Lahir']."</td>
<td>".$data['Alamat']."</td>
<td>".$data['Jenis_Kelamin']."</td>
<td>".$data['Tgl_Daftar']."</td>
</tr>";
$jmldatasemua++;
$counter++;
if
($data['Jenis_Kelamin']==L)
$jmldatal++;
else
$jmldatap++;
}
echo
"<table border='0'>
<tr>
Jumlah
Data Semua : $jmldatasemua
</tr><br>
<tr>
Jumlah
Data Laki-laki : $jmldatal
</tr><br>
<tr>
Jumlah
Data Perempuan : $jmldatap
</tr><br>
</table>";
?>
</table>
Database
Hasil
Tidak ada komentar:
Posting Komentar