Menggunakan Tabel Untuk
Menampilkan Data
Menciptakan Tabel
Sebelum Anda dapat menampilkan data Anda,
Anda perlu menetapkan struktur, tiap kepala kolom, dan format dari tabel HTML
Anda. Dengan cara ini, data Anda memiliki ruang untuk ditampilkan. Contoh
berikut ini akan mengilustrasikan bagaimana data Anda ditempatkan ketika dibaca
dari database.
Contoh
|
Membangun
sebuah tabel
|
1.
Bukalah editor teks/HTML Anda, dan masukkan kode
berikut:
<div
style="text-align: center;" >
<h2 > Database Review Film </h2>
<table border="1"
cellpadding="2" cellspacing="2"
style="width: 70%; margin-left: auto;
margin-right: auto;" >
<tr>
<th> Judul Film </th>
<th> Tahun Rilis </th>
<th> Sutradara Film </th>
<th> Aktor Utama Film </th>
<th> Tipe Film </th>
</tr>
</table>
</div>
2.
Simpanlah file tersebut dengan nama tabel1.php, dan jalankan dengan web
browser Anda.
3.
Tabel Anda akan tampak seperti ini:
4.
Buka file tabel1.php
kembali, dan tambahkan kode untuk menghubungkan ke database. Anda menggunakan
database yang diciptakan pada Bab 2 untuk contoh di sini. Ingat untuk mengganti
nama server, username, password, dan nama database Anda sendiri.
<?php
//menghubungkan ke
MySQL
$db =
mysql_connect('localhost', 'rismon', 'Dolokulu77') or
die ('Tidak bisa terhubung. Periksa parameter
koneksi.');
//memastikan bahwa
database yang baru dibuat menjadi
//database yang aktif
mysql_select_db('situsfilm',
$db) or die(mysql_error($db));
?>
<div
style="text-align: center;" >
<h2 > Database Review Film </h2>
<table border="1"
cellpadding="2" cellspacing="2"
style="width: 70%; margin-left: auto;
margin-right: auto;" >
<tr>
<th> Judul Film </th>
<th> Tahun Rilis </th>
<th> Sutradara Film </th>
<th> Aktor Utama Film </th>
<th> Tipe Film </th>
</tr>
</table>
</div>
5.
Jalankan sebuah query SQL terhadap database dan
dapatkan hasilnya. Dan amati berapa banyak rekaman data yang dihasilkan dari
query.
<?php
//menghubungkan ke MySQL
$db = mysql_connect('localhost', 'rismon',
'Dolokulu77') or
die
('Tidak bisa terhubung. Periksa parameter koneksi.');
//memastikan bahwa database yang baru dibuat
menjadi
//database yang aktif
mysql_select_db('situsfilm', $db) or
die(mysql_error($db));
// membaca informasi
$hasil = 'SELECT
nama_film, tahun_film, sutradara_film, aktor_film,
tipe_film
FROM
film
ORDER BY
nama_film ASC,
tahun_film DESC';
$hasil = mysql_query($hasil, $db) or
die(mysql_error($db));
// menentukan berapa banyak baris pada hasil
query
$jum_film = mysql_num_rows($hasil);
?>
<div style="text-align: center;"
>
<h2 > Database Review Film </h2>
<table border="1" cellpadding="2"
cellspacing="2"
style="width:
70%; margin-left: auto; margin-right: auto;" >
<tr>
<th> Judul Film </th>
<th> Tahun Rilis </th>
<th> Sutradara Film </th>
<th> Aktor Utama Film </th>
<th> Tipe Film </th>
</tr>
</table>
</div>
6.
Setelah tag tr
penutup tetapi sebelum tag table
penutup dalam HTML awal, masukkan sebuah loop while untuk memproses rekaman-rekaman yang dibaca. Kemudian,
tampilkan jumlah rekaman film setelah tag table
penutup.
<?php
//menghubungkan ke MySQL
$db = mysql_connect('localhost', 'rismon', 'Dolokulu77')
or
die ('Tidak bisa
terhubung. Periksa parameter koneksi.');
//memastikan bahwa database yang baru dibuat menjadi
//database yang aktif
mysql_select_db('situsfilm', $db) or
die(mysql_error($db));
// membaca informasi
$hasil = 'SELECT
nama_film,
tahun_film, sutradara_film, aktor_film,
tipe_film
FROM
film
ORDER BY
nama_film
ASC,
tahun_film
DESC';
$hasil = mysql_query($hasil, $db) or
die(mysql_error($db));
// menentukan berapa banyak baris pada hasil query
$jum_film = mysql_num_rows($hasil);
?>
<div style="text-align: center;" >
<h2 >
Database Review Film </h2>
<table
border="1" cellpadding="2" cellspacing="2"
style="width: 70%; margin-left: auto; margin-right: auto;"
>
<tr>
<th>
Judul Film </th>
<th>
Tahun Rilis </th>
<th>
Sutradara Film </th>
<th>
Aktor Utama Film </th>
<th>
Tipe Film </th>
</tr>
<?php
// loop menjelajah hasil query
while ($baris = mysql_fetch_assoc($hasil)) {
extract($baris);
echo
'<tr>';
echo
'<td>' . $nama_film . '</td>';
echo
'<td>' . $tahun_film . '</td >';
echo
'<td>' . $sutradara_film . '</td>';
echo
'<td>' . $aktor_film . '</td>';
echo
'<td>' . $tipe_film . '</td>';
echo
'</tr>';
}
?>
</table>
<p> <?php
echo $jum_film; ?> Film </p>
</div>
7.
Buka
halaman pada web browser Anda; layar Anda akan menampilkan berikut:
Sejauh ini Anda telah menggunakan echo untuk menampilkan isi dari dalam
mode PHP (antara tag <?php dan ?>). Potongan kode HTML yang panjang
berada di luar kedua tag tersebut dan ditampilkan ke browser secara langsung,
tanpa melalui PHP. Skrip keluar dan masuk mode PHP, maju dan mundur antara kode
HTML dan PHP. Beberapa pihak mengatakan bahwa hal ini merupakan cara yang
optimal dalam melakukannya, sementara pihak lain mengatakan hal ini
membingungkan dan membuatnya lebih susah untuk dikembangkan. Jadi, berikut akan
diberikan sintaks heredoc.
Contoh
|
Menggabungkannya
|
Salinlah file tabel1.php ke dalam tabel2.php,
dan ikut langkah-langkah berikut:
1.
Gantikan kode HTML, yang memuat tiap kepala kolom
tabel dengan sebuah statemen heredoc yang disimpan ke dalam variabel $tabel:
$tabel = <<<
ENDHTML
<div
style="text-align: center;" >
<h2 > Database Review Film </h2>
<table border="1"
cellpadding="2" cellspacing="2"
style="width: 70%; margin-left: auto;
margin-right: auto;" >
<tr>
<th> Judul Film </th>
<th> Tahun Rilis </th>
<th> Sutradara Film </th>
<th> Aktor Utama Film </th>
<th> Tipe Film </th>
</tr>
ENDHTML;
2.
Gantikan statemen-statemen echo yang ada di dalam loop while
dengan sebuah statemen heredoc, dan
tempelkan pada variabel $tabel:
$tabel .=
<<< ENDHTML
<tr>
<td> $nama_film </td>
<td> $tahun_film </td>
<td> $sutradara_film </td>
<td> $aktor_film </td>
<td> $tipe_film </td>
</tr>
ENDHTML;
Perhatikan
penggunaan dari .= menggantikan
tanda =. Ini penting karena akan
menempelkan blok heredoc ke isi yang
telah ada dalam $tabel. Jika Anda
menggunakan =, maka isi akan digantikan, yang bukan merupakan apa yang Anda
inginkan.
3. Ganti kode HTML untuk menutup statemen table dan echo yang menampilkan jumlah film yang dihasilkan dengan sebuah
statemen heredoc.
$tabel .= <<< ENDHTML
</table>
<p> $jum_film Film </p>
</div>
ENDHTML;
Berikut
merupakan kode pada file tabel2.php:
<?php
//menghubungkan ke MySQL
$db = mysql_connect('localhost',
'rismon', 'Dolokulu77') or
die ('Tidak bisa terhubung. Periksa parameter koneksi.');
//memastikan bahwa database yang
baru dibuat menjadi
//database yang aktif
mysql_select_db('situsfilm', $db)
or die(mysql_error($db));
// membaca informasi
$hasil = 'SELECT
nama_film, tahun_film, sutradara_film,
aktor_film,
tipe_film
FROM
film
ORDER BY
nama_film ASC,
tahun_film DESC';
$hasil = mysql_query($hasil, $db)
or die(mysql_error($db));
// menentukan berapa banyak baris
pada hasil query
$jum_film =
mysql_num_rows($hasil);
$tabel = <<< ENDHTML
<div style="text-align:
center;" >
<h2 > Database Review Film </h2>
<table border="1" cellpadding="2"
cellspacing="2"
style="width: 70%; margin-left: auto; margin-right: auto;"
>
<tr>
<th> Judul Film </th>
<th> Tahun Rilis </th>
<th> Sutradara Film </th>
<th> Aktor Utama Film </th>
<th> Tipe Film </th>
</tr>
ENDHTML;
// loop menjelajah hasil query
while ($baris =
mysql_fetch_assoc($hasil)) {
extract($baris);
$tabel .= <<< ENDHTML
<tr>
<td> $nama_film </td>
<td> $tahun_film </td>
<td> $sutradara_film </td>
<td> $aktor_film </td>
<td> $tipe_film </td>
</tr>
ENDHTML;
}
$tabel .= <<< ENDHTML
</table>
<p> $jum_film Film
</p>
</div>
ENDHTML;
echo $tabel;
?>
4.
Tambahkan sebuah statemen echo di akhir file. Simpan dan tampilkan kembali halaman web. Apa
yang ditampilkan sama seperti sebelumnya.
Contoh
|
Memperbaiki
tabel Anda
|
1.
Modifikasilah file tabel2.php Anda seperti ditunjukkan pada teks yang disoroti
berikut:
<?php
// membaca id seorang sutradara
dan menghasilkan namapenuhnya
function
get_sutradara($id_sutradara) {
global $db;
$query = 'SELECT
namapenuh_orang
FROM
orang
WHERE
id_orang = ' . $id_sutradara;
$hasil = mysql_query($query, $db) or
die(mysql_error($db));
$baris = mysql_fetch_assoc($hasil);
extract($baris);
return $namapenuh_orang;
}
// membaca id dari aktor dan
menghasilkan namapenuhnya
function get_aktor($id_aktor) {
global $db;
$query = 'SELECT
namapenuh_orang
FROM
orang
WHERE
id_orang = ' . $id_aktor;
$hasil = mysql_query($query, $db) or
die(mysql_error($db));
$baris = mysql_fetch_assoc($hasil);
extract($baris);
return $namapenuh_orang;
}
// mengambil id dari tipe film
dan menghasilkan deskripsi tekstual
function
get_tipefilm($id_tipefilm) {
global $db;
$query = 'SELECT
label_tipefilm
FROM
tipefilm
WHERE
id_tipefilm = ' . $id_tipefilm;
$hasil = mysql_query($query, $db) or
die(mysql_error($db));
$baris = mysql_fetch_assoc($hasil);
extract($baris);
return $label_tipefilm;
}
//menghubungkan ke MySQL
$db = mysql_connect('localhost',
'rismon', 'Dolokulu77') or
die ('Tidak bisa terhubung. Periksa parameter koneksi.');
//memastikan bahwa database yang
baru dibuat menjadi
//database yang aktif
mysql_select_db('situsfilm', $db)
or die(mysql_error($db));
// membaca informasi
$hasil = 'SELECT
nama_film, tahun_film, sutradara_film,
aktor_film,
tipe_film
FROM
film
ORDER BY
nama_film ASC,
tahun_film DESC';
$hasil = mysql_query($hasil, $db)
or die(mysql_error($db));
// menentukan berapa banyak baris
pada hasil query
$jum_film =
mysql_num_rows($hasil);
$tabel = <<< ENDHTML
<div style="text-align:
center;" >
<h2 > Database Review Film </h2>
<table border="1" cellpadding="2"
cellspacing="2"
style="width: 70%; margin-left: auto; margin-right: auto;"
>
<tr>
<th> Judul Film </th>
<th> Tahun Rilis </th>
<th> Sutradara Film </th>
<th> Aktor Utama Film </th>
<th> Tipe Film </th>
</tr>
ENDHTML;
// loop menjelajah hasil query
while ($baris =
mysql_fetch_assoc($hasil)) {
extract($baris);
$sutradara
= get_sutradara($sutradara_film);
$aktor = get_aktor($aktor_film);
$tipefilm = get_tipefilm($tipe_film);
$tabel .= <<< ENDHTML
<tr>
<td> $nama_film </td>
<td> $tahun_film </td>
<td> $sutradara </td>
<td> $aktor </td>
<td> $tipefilm </td>
</tr>
ENDHTML;
}
$tabel .= <<< ENDHTML
</table>
<p> $jum_film Film
</p>
</div>
ENDHTML;
echo $tabel;
?>
2.
Buka
halaman pada web browser Anda; layar Anda akan menampilkan berikut:
Contoh
|
Menambah
link pada tabel
|
1.
Bukan tabel2.php
dan edit query yang membaca informasi untuk mengambil bidang id_film:
// membaca informasi
$hasil = 'SELECT
id_film, nama_film, tahun_film,
sutradara_film,
aktor_film, tipe_film
FROM
film
ORDER BY
nama_film ASC,
tahun_film DESC';
$hasil =
mysql_query($hasil, $db) or die(mysql_error($db));
2.
Edit heredoc
yang menghasilkan baris-baris tabel sehingga judul film merupakan hyperlink:
$tabel .= <<< ENDHTML
<tr>
<td>
<a href="detilfilm.php?id_film=$id_film"> $nama_film </a>
</td>
<td>
$tahun_film </td>
<td>
$sutradara </td>
<td>
$aktor </td>
<td>
$tipefilm </td>
</tr>
ENDHTML;
3.
Simpanlah file tersebut dengan nama tabel3.php, buka halaman itu dengan
browser Anda. Layar Anda akan tampak seperti:
Contoh
|
Menambah
data pada tabel
|
1.
Bukalah editor teks Anda, dan ketikkan kode berikut:
<?php
//menghubungkan ke
MySQL
$db =
mysql_connect('localhost', 'rismon', 'Dolokulu77') or
die ('Tidak bisa terhubung. Periksa parameter
koneksi.');
//memastikan bahwa
database yang baru dibuat menjadi
//database yang aktif
mysql_select_db('situsfilm',
$db) or die(mysql_error($db));
//mengubah tabel film
mencakup bidang waktu running, bidang biaya,
//dan bidang
pendapatan
$query = 'ALTER TABLE
film ADD COLUMN (
waktu_running_film TINYINT UNSIGNED NULL,
biaya_film DECIMAL(4,1) NULL,
pendapatan_film DECIMAL(4,1) NULL)';
mysql_query($query,
$db) or die (mysql_error($db));
//menyisipkan data
baru ke dalam tabel film untuk tiap film
$query = 'UPDATE film
SET
waktu_running_film = 101,
biaya_film = 81,
pendapatan_film = 242.6
WHERE
id_film = 1';
mysql_query($query,
$db) or die(mysql_error($db));
$query = 'UPDATE film
SET
waktu_running_film = 89,
biaya_film = 10,
pendapatan_film = 10.8
WHERE
id_film = 2';
mysql_query($query,
$db) or die(mysql_error($db));
$query = 'UPDATE film
SET
waktu_running_film = 134,
biaya_film = NULL,
pendapatan_film = 33.2
WHERE
id_film = 3';
mysql_query($query,
$db) or die(mysql_error($db));
echo 'Database film
sukses diperbarui!';
?>
2.
Simpan file ini dengan nama tambahdata.php, dan kemudian buka dalam jendela browser Anda. Anda
akan melihat pesan keberhasilan sebagai pertanda bahwa database telah berhasil
diperbarui.
Contoh
|
Menampilkan
detil film
|
1.
Buka editor teks Anda, dan ketikkan program berikut:
<?php
// membaca id seorang sutradara dan menghasilkan
namapenuhnya
function get_sutradara($id_sutradara) {
global $db;
$query =
'SELECT
namapenuh_orang
FROM
orang
WHERE
id_orang = ' . $id_sutradara;
$hasil =
mysql_query($query, $db) or die(mysql_error($db));
$baris =
mysql_fetch_assoc($hasil);
extract($baris);
return
$namapenuh_orang;
}
// membaca id dari aktor dan menghasilkan namapenuhnya
function get_aktor($id_aktor) {
global $db;
$query =
'SELECT
namapenuh_orang
FROM
orang
WHERE
id_orang = ' . $id_aktor;
$hasil =
mysql_query($query, $db) or die(mysql_error($db));
$baris =
mysql_fetch_assoc($hasil);
extract($baris);
return
$namapenuh_orang;
}
// mengambil id dari tipe film dan menghasilkan deskripsi
tekstual
function get_tipefilm($id_tipefilm) {
global $db;
$query =
'SELECT
label_tipefilm
FROM
tipefilm
WHERE
id_tipefilm = ' . $id_tipefilm;
$hasil =
mysql_query($query, $db) or die(mysql_error($db));
$baris =
mysql_fetch_assoc($hasil);
extract($baris);
return
$label_tipefilm;
}
// fungsi untuk menghitung apakah film untung, rugi, atau
impas
function hitung_selisih($pendapatan, $biaya) {
$selisih =
$pendapatan - $biaya;
if ($selisih
< 0) {
$warna =
'red';
$selisih =
'$' . abs($selisih) . ' miliar';
} elseif
($selisih > 0) {
$warna
='green';
$selisih =
'$' . $selisih . ' miliar';
} else {
$warna =
'blue';
$selisih =
'impas';
}
return
'<span style="color:' . $warna . ';"> ' . $selisih . '
</span>';
}
//menghubungkan ke MySQL
$db = mysql_connect('localhost', 'rismon', 'Dolokulu77')
or
die ('Tidak bisa
terhubung. Periksa parameter koneksi.');
//memastikan bahwa database yang baru dibuat menjadi
//database yang aktif
mysql_select_db('situsfilm', $db) or
die(mysql_error($db));
// membaca informasi
$query = 'SELECT
nama_film,
tahun_film, sutradara_film, aktor_film,
tipe_film,
waktu_running_film, biaya_film, pendapatan_film
FROM
film
ORDER BY
nama_film
ASC,
tahun_film
DESC';
$hasil = mysql_query($query, $db) or
die(mysql_error($db));
$baris = mysql_fetch_assoc($hasil);
$nama_film = $baris['nama_film'];
$sutradara_film =
get_sutradara($baris['sutradara_film']);
$aktor_film = get_aktor($baris['aktor_film']);
$tahun_film = $baris['tahun_film'];
$waktu_running_film = $baris['waktu_running_film'] .'
menit';
$pendapatan_film = $baris['pendapatan_film'] . ' miliar';
$biaya_film = $baris['biaya_film'] . ' miliar';
$kesehatan_film =
hitung_selisih($baris['pendapatan_film'], $baris['biaya_film']);
// menampilkan informasi
echo <<< ENDHTML
<html>
<head>
<title>
Detil dan Review untuk: $nama_film </title>
</head>
<body>
<div
style="text-align: center;">
<h2>
$nama_film </h2>
<h3>
<em> Detil </em> </h3>
<table
cellpadding="2" cellspacing="2"
style="width: 70%; margin-left: auto; margin-right: auto;">
<tr>
<td><strong> Judul </strong></strong></td>
<td>$nama_film </td>
<td><strong> Tahun Rilis
</strong></strong></td>
<td> $tahun_film </td>
</tr><tr>
<td><strong> Sutradara Film </strong></td>
<td> $sutradara_film </td>
<td><strong> Biaya </strong></td>
<td> $biaya_film <td/>
</tr><tr>
<td><strong> Aktor </strong></td>
<td> $aktor_film </td>
<td><strong> Pendapatan </strong></td>
<td> $pendapatan_film <td/>
</tr><tr>
<td><strong> Waktu Running </strong></td>
<td> $waktu_running_film </td>
<td><strong> Kondisi </strong></td>
<td> $kesehatan_film <td/>
</tr>
</table></div>
</body>
</html>
ENDHTML;
?>
2.
Simpan file tersebut dengan nama detilfilm.php, dan kemudian buka dengan jendela browser.
3.
Buka file tabel3.php
pada jendela browser, dan klik pada salah satu link film tersebut. Hal itu akan
membuka file detilfilm.php, dan Anda
akan melihat seperti berikut:
Relasi
Bagaimana jika Anda ingin melihat semua
review untuk film tertentu? Anda perlu menciptakan sebuah query SQL baru dalam
halaman detilfilm.php dan
mengeksekusinya, sehingga terdapat dua query SQL dalam satu halaman.
Relasi merupakan suatu cara untuk
menggabungkan tabel-tabel sehingga Anda dapat mengakses data pada semua tabel
tersebut. Keuntungan dari MySQL adalah bahwa ia merupakan suatu database
relasional dan, oleh karena itu, mendukung pembuatan relasi antar tabel. Ketika
digunakan secara benar, relasi dapat menjadi sangat berguna dan dapat dipakai
untuk membaca data dari banyak tabel dalam satu query SQL.
Cara terbaik untuk mendemonstrasikan ini
adalah menunjukkannya dalam contoh berdasarkan contoh yang telah ada.
Contoh
|
Menciptakan
dan mengisi tabel review film
|
1.
Bukalah editor teks Anda, dan ketikkan kode berikut:
<?php
//menghubungkan ke
MySQL
$db =
mysql_connect('localhost', 'rismon', 'Dolokulu77') or
die ('Tidak bisa terhubung. Periksa parameter
koneksi.');
//memastikan bahwa
database yang baru dibuat menjadi
//database yang aktif
mysql_select_db('situsfilm',
$db) or die(mysql_error($db));
//menciptakan tabel
review
$query = 'CREATE
TABLE review (
id_film_review INTEGER UNSIGNED NOT
NULL,
tanggal_review DATE NOT NULL,
nama_reviewer VARCHAR(255) NOT NULL,
komentar_review VARCHAR(255) NOT NULL,
rating_review TINYINT UNSIGNED NOT NULL
DEFAULT 0,
KEY (id_film_review)
)
ENGINE=MyISAM';
mysql_query($query,
$db) or die (mysql_error($db));
//menyisipkan data
baru ke dalam tabel review
$query = <<<
ENDSQL
INSERT INTO review
(id_film_review, tanggal_review,
nama_reviewer, komentar_review, rating_review)
VALUES
(1,
"2014-09-23", "John Naibaho", "Saya kira ini merupakan
film yang sangat hebat.
Meskipun pada awalnya saya tidak terlalu
tertarik.", 4),
(1,
"2014-09-23", "Hamzan Wadi", "Saya kurang suka dengan
film ini.", 2),
(1,
"2014-09-28", "Vivian Siahaan", "Seharusnya dari dulu
saya menontonnya!", 5),
(2,
"2014-09-23", "Marolop Rotua", "Ini adalah film
favoritku.", 5),
(3,
"2014-09-23", "Rico Chandra", "Banyak informasi
penting dalam film ini.", 3)
ENDSQL;
mysql_query($query,
$db) or die(mysql_error($db));
echo 'Database film
telah berhasil diperbarui!';
?>
2.
Simpan file ini dengan nama isitabel.php, dan buka dalam browser Anda. Tabel review Anda
sekarang telah diciptakan dan diisi.
Contoh
|
Menampilkan
review
|
1.
Tambahkan kode ini di atas file detilfilm.php:
// fungsi untuk menghasilkan rating
function hasilkan_rating($rating) {
$rating_film = '';
for
($i = 0; $i < $rating; $i++) {
$rating_film .= ' < img src="star.png"
alt="star"/ > ';
}
return $rating_film;
}
2.
Sekarang pecah ekor dari blok heredoc yang menampilkan informasi film sehingga terdapat dua:
<td><strong> Kondisi </strong></td>
<td> $kesehatan_film <td/>
</tr>
</table>
ENDHTML;
echo <<< ENDHTML
</div>
</body>
</html>
ENDHTML;
3.
Tambahkan kode di antara dua blok heredoc:
// membaca review
untuk film ini
$query = 'SELECT
id_film_review, tanggal_review,
nama_reviewer, komentar_review,
rating_review
FROM
review
ORDER BY
tanggal_review DESC';
$hasil =
mysql_query($query, $db) or die(mysql_error($db));
// menampilkan review
echo <<<
ENDHTML
<h3><em> Review
</em></h3>
<table cellpadding="2"
cellspacing="2"
style="width: 90%; margin-left: auto;
margin-right: auto;">
<tr>
<th style="width: 7em;">
Tanggal </th>
<th style="width: 10em;">
Reviewer </th>
<th> Komentar </th>
<th style="width: 5em;">
Rating </th>
</tr>
ENDHTML;
while ($baris =
mysql_fetch_assoc($hasil)) {
$tanggal = $baris['tanggal_review'];
$nama = $baris['nama_reviewer'];
$komentar = $baris['komentar_review'];
$rating =
hasilkan_rating($baris['rating_review']);
echo <<< ENDHTML
<tr>
<td style="vertical-align:top;
text-align: center;"> $tanggal </td>
<td style="vertical-align:top;">
$nama </td>
<td
style="vertical-align:top;"> $komentar </td>
<td
style="vertical-align:top;"> $rating </td>
</tr>
ENDHTML;
}
Berikut
merupakan isi dari file detilfilm.php:
<?php
// fungsi untuk menghasilkan rating
function hasilkan_rating($rating) {
$rating_film = '';
for ($i = 0; $i < $rating; $i++) {
$rating_film .= '<img
src="star.png" alt="star"/>';
}
return $rating_film;
}
// membaca id seorang sutradara dan
menghasilkan namapenuhnya
function get_sutradara($id_sutradara)
{
global $db;
$query = 'SELECT
namapenuh_orang
FROM
orang
WHERE
id_orang = ' . $id_sutradara;
$hasil = mysql_query($query, $db) or die(mysql_error($db));
$baris = mysql_fetch_assoc($hasil);
extract($baris);
return $namapenuh_orang;
}
// membaca id dari aktor dan
menghasilkan namapenuhnya
function get_aktor($id_aktor) {
global $db;
$query = 'SELECT
namapenuh_orang
FROM
orang
WHERE
id_orang = ' . $id_aktor;
$hasil = mysql_query($query, $db) or die(mysql_error($db));
$baris = mysql_fetch_assoc($hasil);
extract($baris);
return $namapenuh_orang;
}
// mengambil id dari tipe film dan
menghasilkan deskripsi tekstual
function get_tipefilm($id_tipefilm) {
global $db;
$query = 'SELECT
label_tipefilm
FROM
tipefilm
WHERE
id_tipefilm = ' . $id_tipefilm;
$hasil = mysql_query($query, $db) or die(mysql_error($db));
$baris = mysql_fetch_assoc($hasil);
extract($baris);
return $label_tipefilm;
}
// fungsi untuk menghitung apakah
film untung, rugi, atau impas
function hitung_selisih($pendapatan,
$biaya) {
$selisih = $pendapatan - $biaya;
if ($selisih < 0) {
$warna = 'red';
$selisih = 'Rp.' . abs($selisih) . '
miliar';
} elseif ($selisih > 0) {
$warna ='green';
$selisih = 'Rp.' . $selisih . '
miliar';
} else {
$warna = 'blue';
$selisih = 'impas';
}
return '<span style="color:' . $warna . ';"> ' .
$selisih . ' </span>';
}
//menghubungkan ke MySQL
$db = mysql_connect('localhost',
'rismon', 'Dolokulu77') or
die ('Tidak bisa terhubung. Periksa parameter koneksi.');
//memastikan bahwa database yang baru
dibuat menjadi
//database yang aktif
mysql_select_db('situsfilm', $db) or
die(mysql_error($db));
// membaca informasi
$query = 'SELECT
nama_film, tahun_film, sutradara_film,
aktor_film,
tipe_film, waktu_running_film,
biaya_film, pendapatan_film
FROM
film
ORDER BY
nama_film ASC,
tahun_film DESC';
$hasil = mysql_query($query, $db) or
die(mysql_error($db));
$baris = mysql_fetch_assoc($hasil);
$nama_film = $baris['nama_film'];
$sutradara_film =
get_sutradara($baris['sutradara_film']);
$aktor_film =
get_aktor($baris['aktor_film']);
$tahun_film = $baris['tahun_film'];
$waktu_running_film =
$baris['waktu_running_film'] .' menit';
$pendapatan_film =
$baris['pendapatan_film'] . ' miliar';
$biaya_film = $baris['biaya_film'] .
' miliar';
$kesehatan_film =
hitung_selisih($baris['pendapatan_film'], $baris['biaya_film']);
// menampilkan informasi
echo <<< ENDHTML
<html>
<head>
<title> Detil dan Review untuk: $nama_film </title>
</head>
<body>
<div style="text-align: center;">
<h2> $nama_film </h2>
<h3> <em> Detil </em>
</h3>
<table cellpadding="2"
cellspacing="2"
style="width: 70%; margin-left:
auto; margin-right: auto;">
<tr>
<td><strong> Judul
</strong></strong></td>
<td>$nama_film </td>
<td><strong> Tahun Rilis
</strong></strong></td>
<td> $tahun_film </td>
</tr><tr>
<td><strong> Sutradara
Film </strong></td>
<td> $sutradara_film
</td>
<td><strong> Biaya
</strong></td>
<td> $biaya_film <td/>
</tr><tr>
<td><strong> Aktor
</strong></td>
<td> $aktor_film </td>
<td><strong>
Pendapatan </strong></td>
<td> $pendapatan_film
<td/>
</tr><tr>
<td><strong> Waktu
Running </strong></td>
<td> $waktu_running_film
</td>
<td><strong> Kondisi
</strong></td>
<td> $kesehatan_film <td/>
</tr>
</table>
ENDHTML;
// membaca review untuk film ini
$query = 'SELECT
id_film_review, tanggal_review,
nama_reviewer, komentar_review,
rating_review
FROM
review
ORDER BY
tanggal_review DESC';
$hasil = mysql_query($query, $db) or
die(mysql_error($db));
// menampilkan review
echo <<< ENDHTML
<h3><em> Review </em></h3>
<table cellpadding="2" cellspacing="2"
style="width: 90%; margin-left: auto; margin-right: auto;">
<tr>
<th style="width: 7em;"> Tanggal </th>
<th style="width: 10em;"> Reviewer </th>
<th> Komentar </th>
<th style="width: 5em;"> Rating </th>
</tr>
ENDHTML;
while ($baris =
mysql_fetch_assoc($hasil)) {
$tanggal = $baris['tanggal_review'];
$nama = $baris['nama_reviewer'];
$komentar = $baris['komentar_review'];
$rating = hasilkan_rating($baris['rating_review']);
echo
<<< ENDHTML
<tr>
<td style="vertical-align:top; text-align: center;">
$tanggal </td>
<td style="vertical-align:top;"> $nama </td>
<td style="vertical-align:top;"> $komentar </td>
<td style="vertical-align:top;"> $rating </td>
</tr>
ENDHTML;
}
echo <<< ENDHTML
</div>
</body>
</html>
ENDHTML;
?>
No comments:
Post a Comment