Dalam kesempatan ini saya akan mencoba untuk menjelaskan bagaimana membuat fasilitas FAQ (Frequently Asked Questions). FAQ merupakan fasilitas yang berupa daftar pertanyaan dan jawaban yang sering ditanyakan oleh user tentang suatu hal. Fasilitas ini dapat dibuat dengan mudah menggunakan PHP dan MySQL.
Mengapa harus menggunakan PHP dan MySQL, toh… kita bisa membuatnya secara statis tanpa perlu menggunakan programming. Dengan PHP dan MySQL kita bisa membuat fasilitas FAQ yang interaktif dan memudahkan administrator dalam mengelola daftar pertanyaan dan jawaban yang ada. MySQL dalam pembuatan FAQ ini diperlukan untuk menyimpan data daftar pertanyaan dan jawaban, sedangkan PHP untuk mewujudkan keinteraktifan dalam pengelolaannya.
Untuk membuat FAQ dengan PHP dan MySQL, langkah pertama kita coba desain tabel untuk menyimpan data pertanyaan dan jawaban. Sebagai contoh, kita bisa membuat struktur tabel sederhana berikut ini:
1.
CREATE
TABLE
faq
2.
(
3.
id
INT
AUTO_INCREMENT,
4.
question TEXT,
5.
answer TEXT,
6.
PRIMARY
KEY
(id)
7.
)
Setelah kita mendesain tabelnya, berikutnya kita akan mendesain aplikasinya. Untuk keperluan mengisi data pertanyaan dan jawaban, kita buat form terlebih dahulu.
form.htm
01.
<
h1
>Tambah FAQ</
h1
>
02.
<
form
method
=
"post"
action
=
"submit.php"
>
03.
Pertanyaan <
br
/>
04.
<
textarea
name
=
"question"
rows
=
"5"
cols
=
"30"
></
textarea
><
br
/>
05.
Jawaban <
br
/>
06.
<
textarea
name
=
"answer"
rows
=
"5"
cols
=
"30"
></
textarea
><
br
/>
07.
<
input
type
=
"submit"
name
=
"submit"
value
=
"Submit"
/></
td
></
tr
>
08.
</
table
>
09.
</
form
>
Selanjutnya kita akan membuat script untuk memproses FAQ yang diisikan melalui form di atas. Proses yang dilakukan script ini adalah memasukkannya ke dalam database.
submit.php
01.
<?php
02.
// membaca pertanyaan dari form
03.
$question
=
$_POST
[
'question'
];
04.
// membaca jawaban dari form
05.
$answer
=
$_POST
[
'answer'
];
06.
07.
// koneksi ke mysql
08.
mysql_connect(dbhost, dbuser, dbpass);
09.
mysql_select_db(dbname);
10.
11.
// query untuk memasukkan FAQ ke tabel DB
12.
$query
=
"INSERT INTO faq(question, answer) VALUES('$question', '$answer') "
;
13.
$hasil
= mysql_query(
$query
);
14.
15.
// konfirmasi gagal tidaknya memasukkan FAQ ke tabel
16.
if
(
$hasil
)
echo
"Tambah FAQ sukses"
;
17.
else
echo
"Tambah FAQ gagal"
;
18.
?>
Eit… kayaknya ada yang ketinggalan ya. Oh iya… hampir lupa bagaimana dengan script untuk menampilkan daftar FAQ nya? he.. he 3x padahal yang jadi point penting adalah script ini ya.
OK.. sekarang kita buat script untuk menampilkan daftar FAQ nya.
faq.php
01.
<?php
02.
03.
// koneksi ke mysql
04.
mysql_connect(dbhost, dbuser, dbpass);
05.
mysql_select_db(dbname);
06.
07.
?>
08.
09.
<h1>Daftar FAQ</h1>
10.
11.
<?php
12.
$query
=
"SELECT * FROM faq"
;
13.
$hasil
= mysql_query(
$query
);
14.
echo
"<ul>"
;
15.
while
(
$data
= mysql_fetch_array(
$hasil
))
16.
{
17.
echo
"<li>"
.
$data
[
'question'
].
"</li>"
;
18.
}
19.
echo
"</ul>"
;
20.
?>
faq.php
01.
<?php
02.
03.
// koneksi ke mysql
04.
mysql_connect(dbhost, dbuser, dbpass);
05.
mysql_select_db(dbname);
06.
07.
?>
08.
09.
<h1>Daftar FAQ</h1>
10.
11.
<?php
12.
$query
=
"SELECT * FROM faq"
;
13.
$hasil
= mysql_query(
$query
);
14.
echo
"<ul>"
;
15.
while
(
$data
= mysql_fetch_array(
$hasil
))
16.
{
17.
echo
"<li><em>"
.
$data
[
'question'
].
"</em><br />"
.
$data
[
'answer'
].
"</li>"
;
18.
}
19.
echo
"</ul>"
;
20.
?>
Selain teknik di atas, Anda dapat juga memunculkan jawabannya dengan mengklik link pada pertanyaan yang diinginkan. Untuk melakukan hal ini, ya… cukup tambahkan link dalam setiap list pertanyaan. Linknya bisa diarahkan ke script lain atau ke script ini sendiri. Dalam contoh ini kita arahkan link ke script ini sendiri (menggunakan $_SERVER['PHP_SELF']). Oya.. jangan lupa dalam link tersebut diberikan parameter berupa ID dari pertanyaannya. ID ini nanti digunakan sebagai kriteria untuk mencari jawabannya.
faq.php
01.
<?php
02.
03.
// koneksi ke mysql
04.
mysql_connect(dbhost, dbuser, dbpass);
05.
mysql_select_db(dbname);
06.
07.
?>
08.
09.
<h1>Daftar FAQ</h1>
10.
11.
<?php
12.
$query
=
"SELECT * FROM faq"
;
13.
$hasil
= mysql_query(
$query
);
14.
echo
"<ul>"
;
15.
while
(
$data
= mysql_fetch_array(
$hasil
))
16.
{
17.
echo
"<li><a href='"
.
$_SERVER
['PHP_SELF
']."?id=".$data['
id
']."'
>".
$data
[
'question'
].
"</a></li>"
;
18.
}
19.
echo
"</ul>"
;
20.
?>
faq.php
01.
<?php
02.
03.
// koneksi ke mysql
04.
mysql_connect(dbhost, dbuser, dbpass);
05.
mysql_select_db(dbname);
06.
07.
?>
08.
09.
<h1>Daftar FAQ</h1>
10.
11.
<?php
12.
13.
// menampilkan detail FAQ (pertanyaan dan jawaban) setelah link diklik
14.
// blok dalam IF ini hanya akan dijalankan bila terdapat parameter id pada URL, misal: http://.../faq.php?id=...
15.
16.
if
(
$_GET
[
'id'
])
17.
{
18.
// membaca parameter id FAQ dari link
19.
$id
=
$_GET
[
'id'
];
20.
21.
$query
=
"SELECT * FROM faq WHERE id = $id"
;
22.
$hasil
= mysql_query(
$query
);
23.
$data
= mysql_fetch_array(
$hasil
);
24.
echo
"<p>Pertanyaan : "
.
$data
[
'question'
].
"</p>"
;
25.
echo
"<p>Jawaban : "
.
$data
[
'answer'
].
"</p>"
;
26.
}
27.
28.
// menampilkan daftar FAQ
29.
$query
=
"SELECT * FROM faq"
;
30.
$hasil
= mysql_query(
$query
);
31.
echo
"<ul>"
;
32.
while
(
$data
= mysql_fetch_array(
$hasil
))
33.
{
34.
echo
"<li><a href='"
.
$_SERVER
['PHP_SELF
']."?id=".$data['
id
']."'
>".
$data
[
'question'
].
"</a></li>"
;
35.
}
36.
echo
"</ul>"
;
37.
?>
Sedangkan berikut ini adalah tampilan ketika sebuah link FAQ diklik untuk melihat detailnya
Nah.. jadi deh script FAQ nya. Lumayan bukan ?? Silakan nanti dimodifikasi sendiri scriptnya. Di sini saya hanya memberikan konsep dan ide pembuatannya saja secara sederhana. Anda bisa menambahkan fitur lain, misalnya fasilitas untuk edit data FAQ dan fasilitas hapus FAQ.
Sebagai referensi, Anda bisa membaca artikel tentang cara membuat script untuk edit data dan penghapusan data yang pernah saya tulis dalam blog ini.
0 Response to "Membuat FAQ dengan PHP dan MySQL"
Post a Comment