http://blog.rosihanari.net/membuat-faq-dengan-php-dan-mysql/
Ebook yang direkomendasikan untuk Anda
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:
Karena pada dasarnya FAQ ini hanya berisi pertanyaan dan jawaban,
maka tabel harus memuat kedua hal tersebut. Pada tabel di atas, field
‘ID’ digunakan sebagai pembeda antar satu record berisi sebuah
pertanyaan dan jawaban dengan record yang lain. Karena merupakan kode
pembeda, maka ID ini harus unik oleh karena itu kita set sebagai kunci
primer (primary key). Anda boleh menambahkan field tambahan yang lain
bila diperlukan, misalkan ditambahkan tanggal dan waktu kapan pertanyaan
dan jawaban itu dikirim atau dipublish.
Setelah kita mendesain tabelnya, berikutnya kita akan mendesain aplikasinya. Untuk keperluan mengisi data pertanyaan dan jawaban, kita buat form terlebih dahulu.
form.htm
Tampilan form tambah FAQ di atas tampak di bawah ini
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
Mudah bukan membuat scriptnya. OK… demikianlah cara membuat script FAQ. Semoga ada manfaatnya buat Anda.
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
Nah.. script di atas baru akan menampilkan daftar pertanyaan FAQ nya.
Trus… untuk jawabannya bagaimana? Anda dapat langsung menampilkan
pertanyaan dan jawabannya sekaligus dalam script di atas seperti pada
script yang dimodifikasi berikut ini
faq.php
Dalam script di atas, pertanyaan ditampilkan secara miring (italic) menggunakan tag dan jawabannya ditampilkan di bawahnya.
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
Trus… enaknya detail pertanyaan dan jawaban setelah kita klik link
FAQnya akan ditampilkan di mana ya? Coba kita tampilkan di atas daftar
FAQ saja deh….
faq.php
Apabila script faq.php di atas dijalankan, maka akan muncul tampilan
berikut ini (dengan asumsi data faq sudah dientri sebelumnya)
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.
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.