Pada artikel sebelumnya kita telah membahas dua halaman pertama dari
aplikasi buku tamu. Sekarang kita sempurnakan aplikasi tersebut dengan
menampilkan daftar dari para tamu yang telah memberikan nama dan
komentarnya.
Untuk menyegarkan ingatan Anda pada halaman terima kasih terdapat link sebagai berikut:
<HTML>
<HEAD>
<TITLE> Buku Tamu </TITLE>
</HEAD>
<BODY>
<TR>
<TD BGCOLOR=#f32142> Nama </TD>
<TD BGCOLOR=#f32142> Email </TD>
<TD BGCOLOR=#f32142> Komentar </TD><TD BGCOLOR=#f32142> Waktu </TD>
</TR>
<?php
while ($row = mysql_fetch_array ($qry)) {
echo "<TR>";
echo "<TD BGCOLOR=#f7efde>" . $row["nama"] . "</TD>";
echo "<TD BGCOLOR=#f7efde>" . $row["email"] . "</TD>";
echo "<TD BGCOLOR=#f7efde>" . $row["komentar"] . "</TD>"; echo "<TD BGCOLOR=#f7efde>" . $row["waktu"] . "</TD>";
echo "</TR>";
}
?>
</TABLE>
</BODY>
</HTML>
Nama-nama yang tertera di sana hanya fiktif saja, jadi apabila ternyata ada yang memiliki nama dan email yang sama, itu hanya kebetulan belaka.
Nah, seandainya situs tersebut merupakan situs yang ramai oleh pengunjung dan pengisi buku tamunya banyak, maka menampilkan daftar tamu seperti skrip di atas tentu kurang baik karena halaman tersebut akan menjadi sangat panjang.
Alternatif yang digunakan adalah menampilkan sejumlah record tertentu per halaman dan di bagian bawah halaman terdapat link untuk menuju ke halaman berikutnya atau sebelumnya. Kira-kira seperti hasil search di Google itu lho. Untuk membuat bentuk halaman seperti itu, berikut akan diberikan salah satu contoh skrip alternatifnya. Gantilah isi skrip file lihat_tamu.php dengan skrip sebagai berikut:
<HTML>
<HEAD>
<TITLE> Daftar Tamu </TITLE>
</HEAD>
<BODY>
<TR>
<TD BGCOLOR=#f32142> Nama </TD>
<TD BGCOLOR=#f32142> Email </TD>
<TD BGCOLOR=#f32142> Komentar </TD><TD BGCOLOR=#f32142> Waktu </TD>
</TR>
<?php
while ($row = mysql_fetch_array ($qry)) {
echo "<TR>";
echo "<TD BGCOLOR=#f7efde>" . $row["nama"] . "</TD>";
echo "<TD BGCOLOR=#f7efde>" . $row["email"] . "</TD>";
echo "<TD BGCOLOR=#f7efde>" . $row["komentar"] . "</TD>"; echo "<TD BGCOLOR=#f7efde>" . $row["waktu"] . "</TD>";
echo "</TR>";
}
?>
</TABLE>
<hr style="width:90%; size:2px; color:red;">
<TABLE BORDER=0>
<TR>
</TABLE>
</BODY>
</HTML>
Contoh skrip ini menggunakan query string di dalam menentukan halaman mana yang aktif saat itu. Setiap link untuk menuju ke suatu halaman tertentu akan memiliki bentuk seperti ini:
Untuk menyegarkan ingatan Anda pada halaman terima kasih terdapat link sebagai berikut:
<a href=”lihat_tamu.php”> Klik di sini </a> untuk melihat daftar para pengisi buku tamu.File lihat_tamu.php inilah yang nantinya menampilkan daftar para pengisi buku tamu yang disajikan dalam bentuk tabel. Skrip selengkapnya dari file lihat_tamu.php adalah sebagai berikut:
<HTML>
<HEAD>
<TITLE> Buku Tamu </TITLE>
</HEAD>
<BODY>
<?php<TABLE BORDER=1>
$host = "localhost";
$user = "root";
$passwd = "root";
$conn = @mysql_connect ($host, $user, $passwd)
or die ("Koneksi Gagal: " . mysql_error());
mysql_select_db("data_kontak",$conn);
$strSQL = "Select * from tbl_tamu";
$qry= @mysql_query($strSQL,$conn)
or die ("Query salah: " . mysql_error());
$jml = mysql_num_rows($qry);
echo "Jumlah pengisi = $jml <br />";
?>
<TR>
<TD BGCOLOR=#f32142> Nama </TD>
<TD BGCOLOR=#f32142> Email </TD>
<TD BGCOLOR=#f32142> Komentar </TD><TD BGCOLOR=#f32142> Waktu </TD>
</TR>
<?php
while ($row = mysql_fetch_array ($qry)) {
echo "<TR>";
echo "<TD BGCOLOR=#f7efde>" . $row["nama"] . "</TD>";
echo "<TD BGCOLOR=#f7efde>" . $row["email"] . "</TD>";
echo "<TD BGCOLOR=#f7efde>" . $row["komentar"] . "</TD>"; echo "<TD BGCOLOR=#f7efde>" . $row["waktu"] . "</TD>";
echo "</TR>";
}
?>
</TABLE>
</BODY>
</HTML>
Nama-nama yang tertera di sana hanya fiktif saja, jadi apabila ternyata ada yang memiliki nama dan email yang sama, itu hanya kebetulan belaka.
Nah, seandainya situs tersebut merupakan situs yang ramai oleh pengunjung dan pengisi buku tamunya banyak, maka menampilkan daftar tamu seperti skrip di atas tentu kurang baik karena halaman tersebut akan menjadi sangat panjang.
Alternatif yang digunakan adalah menampilkan sejumlah record tertentu per halaman dan di bagian bawah halaman terdapat link untuk menuju ke halaman berikutnya atau sebelumnya. Kira-kira seperti hasil search di Google itu lho. Untuk membuat bentuk halaman seperti itu, berikut akan diberikan salah satu contoh skrip alternatifnya. Gantilah isi skrip file lihat_tamu.php dengan skrip sebagai berikut:
<HTML>
<HEAD>
<TITLE> Daftar Tamu </TITLE>
</HEAD>
<BODY>
<?php<TABLE BORDER=1>
$host = "localhost";
$user = "root";
$passwd = "root";
$conn = @mysql_connect ($host,$user, $passwd)
or die ("Koneksi Gagal: " . mysql_error());
mysql_select_db("data_kontak",$conn);
$hal = $_REQUEST['hal'];
$batas = ($hal - 1) * 5;
$strSQL1 = "Select * from tbl_tamu limit $batas,5";
$strSQL2 = "Select * from tbl_tamu";
$qry = @mysql_query($strSQL1,$conn)
or die ("Query salah: " . mysql_error());
$tot = @mysql_query($strSQL2,$conn)
or die ("Query salah: " . mysql_error());
$jml = mysql_num_rows($tot);
$kel = $jml/5;
if ($kel==floor($jml/5)){
$page = $kel;
} else {
$page = floor($jml/5)+1;
}
$pct = 100/($page+4);
echo "Jumlah pengisi = $jml <br />";
echo "Jumlah halaman = $page <br />";
echo "<HR>";
?>
<TR>
<TD BGCOLOR=#f32142> Nama </TD>
<TD BGCOLOR=#f32142> Email </TD>
<TD BGCOLOR=#f32142> Komentar </TD><TD BGCOLOR=#f32142> Waktu </TD>
</TR>
<?php
while ($row = mysql_fetch_array ($qry)) {
echo "<TR>";
echo "<TD BGCOLOR=#f7efde>" . $row["nama"] . "</TD>";
echo "<TD BGCOLOR=#f7efde>" . $row["email"] . "</TD>";
echo "<TD BGCOLOR=#f7efde>" . $row["komentar"] . "</TD>"; echo "<TD BGCOLOR=#f7efde>" . $row["waktu"] . "</TD>";
echo "</TR>";
}
?>
</TABLE>
<hr style="width:90%; size:2px; color:red;">
<TABLE BORDER=0>
<TR>
<?php</TR>
$lebar=$pct*2;
$prev=$hal-1;
$next=$hal+1;
echo "<TD WIDTH=$lebar"."%>";
if ($hal!=1) {
echo "<A href='lihat_tamu.php?hal=$prev'> <<Sebelum </A>";
} else {
echo "<<Sebelum";
}
echo "</TD>";
for ($i=1;$i<=$page;$i++) {
if ($i==$hal) {
echo "<TD WIDTH=$pct"."%>";
echo "$i";
echo "</TD>";
} else {
echo "<TD WIDTH=$pct"."%>";
echo "<A href='lihat_tamu.php?hal=$i'> $i </A>";
echo "</TD>";
}
}
echo "<TD WIDTH=$lebar"."%>";
if ($hal!=$page) {
echo "<A href='lihat_tamu.php?hal=$next'> Setelah>> </A>";
} else {
echo "Setelah>>";
}
echo "</TD>";
?>
</TABLE>
</BODY>
</HTML>
Contoh skrip ini menggunakan query string di dalam menentukan halaman mana yang aktif saat itu. Setiap link untuk menuju ke suatu halaman tertentu akan memiliki bentuk seperti ini:
<A href=”table.php?hal=$i”>Variabel $i akan berisi nomor halaman yang dituju, selamat mencoba untuk melihat hasilnya ;D.
No comments:
Post a Comment