หลักการสร้างเว็บบอร์ดแบบพื้นฐาน
สวัสดีครับ บทความนี้เป็นของวันอาทิตย์ที่ 3 เมษายน 48 เรื่องหลักการสร้างเว็บบอร์ดแบบพื้นฐาน ที่วันนี้ผมนำเรื่องนี้มาเขียนให้อ่านกันนั้น เพราะว่าผมเข้าไปดู keyword ที่ท่านผู้ชมเข้ามาเยี่ยมชมเว็บผมใช้คำว่า “Webboard” ค้นหาในระบบฐานข้อมูลของเรา จึงเป็นความคิดให้เขียนบทความนี้ขึ้นครับ
เดี๋ยวนี้เว็บบอร์ดเป็นสิ่งที่เราจำเป็นต้องมีควบคู่ไปกับเว็บไซต์ของเรา เพราะว่า จะสร้างให้เกิด Community ในเว็บไซต์ได้อย่างดีมาก ทำให้เกิดศูนย์รวมพูดคุยแลกเปลี่ยนความคิดเห็นกันแบบออนไลน์
แต่มีหลายเว็บไซต์ที่อยากจะมีเว็บบอร์ดเป็นของตัวเอง แต่เขียนกันไม่เป็น ก็อาจจะเอา open source เว็บบอร์ดมาติดตั้งใช้งานกันแบบสำเร็จรูป หรือจะไปใช้บริการระบบฟรีเว็บบอร์ดของเว็บไซต์ต่างๆที่มีให้บริการกันอยู่อย่างมากมายในขณะนี้ ซึ่งเป็นสิ่งที่ง่าย และไม่เสียเวลามากมาย
บทความในวันนี้ผมก็จะแค่มาแนะนำวิธีการเบื้องต้นคราวๆ ในการสร้างเว็บบอร์ดให้ท่านทราบกัน เพื่อเป็นแนวทางในการพัฒนาเขียนโปรแกรมต่อยอดขึ้นไปเรื่อยๆ
เดี๋ยวนี้เว็บบอร์ดเป็นสิ่งที่เราจำเป็นต้องมีควบคู่ไปกับเว็บไซต์ของเรา เพราะว่า จะสร้างให้เกิด Community ในเว็บไซต์ได้อย่างดีมาก ทำให้เกิดศูนย์รวมพูดคุยแลกเปลี่ยนความคิดเห็นกันแบบออนไลน์
แต่มีหลายเว็บไซต์ที่อยากจะมีเว็บบอร์ดเป็นของตัวเอง แต่เขียนกันไม่เป็น ก็อาจจะเอา open source เว็บบอร์ดมาติดตั้งใช้งานกันแบบสำเร็จรูป หรือจะไปใช้บริการระบบฟรีเว็บบอร์ดของเว็บไซต์ต่างๆที่มีให้บริการกันอยู่อย่างมากมายในขณะนี้ ซึ่งเป็นสิ่งที่ง่าย และไม่เสียเวลามากมาย
บทความในวันนี้ผมก็จะแค่มาแนะนำวิธีการเบื้องต้นคราวๆ ในการสร้างเว็บบอร์ดให้ท่านทราบกัน เพื่อเป็นแนวทางในการพัฒนาเขียนโปรแกรมต่อยอดขึ้นไปเรื่อยๆ
มาเริ่มสร้างกันเลยครับ…..
ก่อนอื่นจะต้องทำการออกแบบระบบและออกแบบฐานข้อมูลของคุณก่อนว่าจะให้มีโครงสร้างการทำงานอย่างไร โดยตัวอย่างที่ผมจะอธิบายนี้โครงสร้างของเว็บบอร์ดของผมก็คือ
1.ไฟล์ main_webboard.php เป็นไฟล์หน้าหลักสำหรับโชว์กระทู้ทั้งหมดของเว็บบอร์ด
2.ไฟล์ new_topic.php เป็นไฟล์หน้าฟอร์มกรอกข้อมูลสำหรับตั้งกระทู้ของเว็บบอร์ด
3.ไฟล์ add_question.php เป็นไฟล์บันทึกข้อมูลการตั้งกระทู้ลงฐานข้อมูล
4.ไฟล์ topic_details.php เป็นไฟล์โชว์รายละเอียดของคำถาม เมื่อคลิ๊กจากหน้าหลักของเว็บบอร์ดเพื่อต้องการอ่านกระทู้นั้นๆ และโชว์ฟอร์มสำหรับใช้ตอบคำถามนั้นๆ รวมถึงการโชว์คำตอบเมื่อมีผู้ตอบคำถามนั้นๆ ด้วย
5.ไฟล์ add_answer.php เป็นไฟล์สำหรับบันทึกข้อมูลของคำตอบลงฐานข้อมูล
6.ไฟล์ config.inc.php เป็นไฟล์สำหรับกำหนดตั้งค่าของผู้ใช้งานฐานข้อมูล webboard
1.ไฟล์ main_webboard.php เป็นไฟล์หน้าหลักสำหรับโชว์กระทู้ทั้งหมดของเว็บบอร์ด
2.ไฟล์ new_topic.php เป็นไฟล์หน้าฟอร์มกรอกข้อมูลสำหรับตั้งกระทู้ของเว็บบอร์ด
3.ไฟล์ add_question.php เป็นไฟล์บันทึกข้อมูลการตั้งกระทู้ลงฐานข้อมูล
4.ไฟล์ topic_details.php เป็นไฟล์โชว์รายละเอียดของคำถาม เมื่อคลิ๊กจากหน้าหลักของเว็บบอร์ดเพื่อต้องการอ่านกระทู้นั้นๆ และโชว์ฟอร์มสำหรับใช้ตอบคำถามนั้นๆ รวมถึงการโชว์คำตอบเมื่อมีผู้ตอบคำถามนั้นๆ ด้วย
5.ไฟล์ add_answer.php เป็นไฟล์สำหรับบันทึกข้อมูลของคำตอบลงฐานข้อมูล
6.ไฟล์ config.inc.php เป็นไฟล์สำหรับกำหนดตั้งค่าของผู้ใช้งานฐานข้อมูล webboard
ต่อมาคือ โครงสร้างของฐานข้อมูล โดยตัวอย่างนี้ในฐานข้อมูลของ webboard นั้นจะมีอยู่ 2 ตารางคือ ตาราง question เอาไว้เก็บข้อมูลของคำถาม และ ตาราง answer เอาไว้เก็บคำตอบของคำถามนั้นๆ
โครงสร้างของตาราง Question คือ
ชื่อฟิลด์
|
ชนิด
|
ความยาว/เซต
|
Auto Key
|
Primary Key
|
qid
|
int
|
4
| เป็น auto increment | เป็น primary key |
qtopic
|
varchar
|
20
| ||
qmessage
|
longtext
| |||
qname
|
varchar
|
20
| ||
qdate
|
varchar
|
20
| ||
qreply
|
int
|
4
|
รายละเอียดเพิ่มเติม
qid เป็นลำดับของกระทู้คำถาม
qtopicเก็บหัวข้อของคำถาม
qmessage เก็บรายละเอียดของคำถาม
qname เก็บชื่อของผู้ตั้งคำถาม
qdate เก็บวันที่ ที่ตั้งคำถาม
qreply เก็บจำนวนคำตอบของคำถามนั้นๆ
คำสั่ง SQL ของตาราง question ด้านล่างนี้ สามารถเอาไปวางใน phpMyadmin เพื่อให้มันสร้างตารางให้อัติโนมัติได้เลยครับ
CREATE TABLE `question` ( `qid` int(4) NOT NULL auto_increment, `qtopic` varchar(20) NOT NULL default ”, `qmessage` longtext NOT NULL, `qname` varchar(20) NOT NULL default ”, `qdate` varchar(20) NOT NULL default ”, `qreply` int(4) NOT NULL default ‘0’, PRIMARY KEY (`qid`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; |
โครงสร้างของตาราง Answer คือ
ชื่อฟิลด์
|
ชนิด
|
ความยาว/เซต
|
Auto Key
|
Primary Key
|
aid
|
int
|
4
| เป็น auto increment | เป็น primary key |
qid
|
int
|
4
| ||
aname
|
varchar
|
20
| ||
amessage
|
longtext
| |||
adate
|
varchar
|
20
|
รายละเอียด
aid เป็นลำดับของคำตอบในตาราง answer
qid เก็บหมายเลขคำถามของคำตอบนั้นๆ
aname เก็บชื่อของผู้ตอบคำถาม
amessage เก็บรายละเอียดของคำตอบ
adate เก็บวันที่ ที่ตอบคำถาม
aid เป็นลำดับของคำตอบในตาราง answer
qid เก็บหมายเลขคำถามของคำตอบนั้นๆ
aname เก็บชื่อของผู้ตอบคำถาม
amessage เก็บรายละเอียดของคำตอบ
adate เก็บวันที่ ที่ตอบคำถาม
คำสั่ง SQL ของตาราง answer ข้างล่างนี้ สามารถเอาไปวางใน phpMyadmin เพื่อให้มันสร้างตารางให้อัติโนมัติได้เลยครับ
CREATE TABLE `answer` ( `aid` int(4) NOT NULL auto_increment, `qid` int(4) NOT NULL default ‘0’, `aname` varchar(20) NOT NULL default ”, `amessage` longtext NOT NULL, `adate` varchar(20) NOT NULL default ”, PRIMARY KEY (`aid`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; |
เริ่มต้นให้คุณเข้าไปสร้างฐานข้อมูลก่อน ดังตัวอย่างข้างล่างนี้ผมใช้ phpMyadminสร้างฐานข้อมูลชื่อ webboardและกดปุ่ม “สร้าง”
หลังจากนั้นจะเข้ามายังหน้าการสร้างตาราง ผมจะเริ่มสร้างตาราง question ก่อนนะครับ กำหนดให้มีฟิลด์ข้อมูลจำนวน 6 ฟิลด์ และกดปุ่ม “ลงมือ”
กำหนดคุณสมบัติและประเภทของข้อมูลในตาราง question ที่ผมได้กล่าวไปข้างต้นนั้น ดังรูปข้างล่างนี้ จากนั้นกดปุ่ม “บันทึก”
ระบบจะรายงานว่าได้ทำการสร้างและกำหนดคุณสมบัติของตาราง question เรียบร้อยแล้ว
ตารางต่อมาที่จะสร้างคือตาราง answer กำหนดให้มีจำนวนฟิลด์ของข้อมูลเป็น 5 ฟิลด์ และกดปุ่ม “ลงมือ”
กำหนดคุณสมบัติและประเภทของข้อมูลในตาราง answer ที่ผมได้กล่าวไปข้างต้นนั้น ดังรูปข้างล่างนี้ จากนั้นกดปุ่ม “บันทึก”
ระบบจะรายงานว่าได้ทำการสร้างและกำหนดคุณสมบัติของตาราง answer เรียบร้อยแล้ว
เมื่อสร้างตาราง question และ answer ในฐานข้อมูล webboard เสร็จ ก็จะเป็นดังรูปข้างล่างนี้ครับ
0 ความคิดเห็น:
แสดงความคิดเห็น