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.
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 Peserta</th> <th>Tgl Lahir</th><th>Tempat Lahir</th><th>Alamat</th>
<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 Peserta</th><th>Tgl Lahir</th><th>Tempat Lahir</th><th>Alamat</th>
<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
Soal-soal
1. Dengan menggunakan tabel dan data yang ada dalam
pembahasan modul ini di atas,
buatlah script untuk
menampilkan data peserta
berdasarkan jenis kelaminnya.
Adapun tampilan datanya diharapkan seperti di bawah ini
Jumlah Data : …
Dengan ‘No’ adalah nomor urut 1, 2, 3, … (bukan nomor ID
data dalam tabel database)
Terlebih dahulu buatlah form berisi pilihan menggunakan Radio Button untuk memilih jenis kelamin dari
peserta yang akan ditampilkan. Selanjutnya setelah dipilih jenis
kelaminnya, dan kemudian
disubmit, maka akan
muncul daftar peserta berdasarkan
jenis kelamin yang dipilih.
Script
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("regismhs");
?>
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);
$jmldata=0;
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>
Output program
form
Hasil keluaran form setelah di submit
Tampilan isi database
2. Dengan menggunakan tabel dan data yang ada dalam
pembahasan modul ini di atas, buatlah script untuk menampilkan data peserta berdasarkan nama yang ingin dicari.
Terlebih dahulu buatlah form berisi text box untuk
memasukkan nama peserta yang akan dicari. Selanjutnya setelah dimasukkan nama,
dan kemudian disubmit, maka akan muncul daftar peserta berdasarkan nama yang
dicari. Misal jika ingin dicari nama ‘JOKO’ maka akan menampilkan semua data
peserta yang namanya memuat nama ‘JOKO’.
Bantuan: Gunakan klausa WHERE nama LIKE ‘%...%’;
Tampilkan data hasil pencariannya menggunakan format
tampilan seperti no. 1 di atas.
Script
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("regismhs");
?>
<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>
Output program
form
Hasil setelah form di submit
3. Dengan menggunakan tabel dan data yang ada dalam
pembahasan modul ini di atas, buatlah script untuk menampilkan semua data
peserta yang diurutkan berdasarkan
TANGGAL PENDAFTARAN mulai
dari yang baru
saja mendaftar sampai dengan yang
paling dahulu mendaftar
Adapun tampilan datanya diharapkan seperti di bawah
ini
Jumlah Data Semua : …
Jumlah Peserta
Laki-Laki: …
Jumlah Peserta
Perempuan: …
Catatan: Untuk mempercantik tampilan data dalam tabel
di atas, gunakan warna selang- seling dalam setiap barisnya.
Script
<?php
mysql_connect("localhost",
"root", "");
mysql_select_db("regismhs");
$warnaGenap = "#CCCCCC"; // warna abu-abu
$warnaGanjil = "#FFFFFF"; // warna putih
$warnaHeading = "#FFFACD"; // biru
?>
<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 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']==Perempuan)
$jmldatap++;
else
$jmldatal++;
}
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>
Output program
Tidak ada komentar:
Posting Komentar