RSS

หลักการสร้างเว็บบอร์ดแบบง่ายๆ

Sun, Aug 17, 2008

PHP

Pages: 1 2 3 4 5

หลักการสร้างเว็บบอร์ดแบบพื้นฐาน

สวัสดีครับ บทความนี้เป็นของวันอาทิตย์ที่ 3 เมษายน 48 เรื่องหลักการสร้างเว็บบอร์ดแบบพื้นฐาน ที่วันนี้ผมนำเรื่องนี้มาเขียนให้อ่านกันนั้น เพราะว่าผมเข้าไปดู keyword ที่ท่านผู้ชมเข้ามาเยี่ยมชมเว็บผมใช้คำว่า “Webboard” ค้นหาในระบบฐานข้อมูลของเรา จึงเป็นความคิดให้เขียนบทความนี้ขึ้นครับ
เดี๋ยวนี้เว็บบอร์ดเป็นสิ่งที่เราจำเป็นต้องมีควบคู่ไปกับเว็บไซต์ของเรา เพราะว่า จะสร้างให้เกิด 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

ต่อมาคือ โครงสร้างของฐานข้อมูล โดยตัวอย่างนี้ในฐานข้อมูลของ 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 เก็บวันที่ ที่ตอบคำถาม

คำสั่ง 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 เสร็จ ก็จะเป็นดังรูปข้างล่างนี้ครับ

Pages: 1 2 3 4 5

, , , , , , , , , , , , , , , , ,

2 Comments For This Post

  1. sayhnua Says:

    พี่แอดมินค่ะรบกวนถามหน่อยนะค่ะ คือว่านู๋อยากให้เค้าสมัครสมาชิกก่อนนะค่ะ ถ้าเค้ายังไม่สมัครจะำไม่สมารถโพ้สได้นะค่ะ จะต้องทำยังไงหรอค่ะ ช่วยหน่อยได้ใหมค่ะ ขอบคุณล่วงหน้าค่ะ

  2. admin Says:

    มีหลายวิธี ใช้ระบบ session ของ php ช่วย
    หรือใช้ if หรือ case ช่วย แต่แนะนำปกติจะใช้ session กันครับ

    ไกด์ไลประมาณนี้

    If(member==”0″){

    กรุณาเข้าระบบก่อน

    }else{

    สามารถตั้งกระทู้ได้

    }

Leave a Reply

You must be logged in to post a comment.