ข้ามไปที่เนื้อหาหลัก

ออกแบบโครงสร้างฐานข้อมูล MySQL ของแบบสอบถาม

 การออกแบบโครงสร้างฐานข้อมูลของแบบสอบถามที่จะกล่าวถึงนี้ สำหรับรูปร่างหน้าตาของแบบสอบถามนั้นจะแตกต่างจากที่พบเจอในงานวิจัย หรือการทำโพลต่างๆ แต่หลักการยังคงเหมือนกัน

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



สำหรับเนื้อหาในบทความนี้มาเริ่มกันที่การออกแบบฐานข้อมูล ซึ่งในมุมมองของผมนั้น ก็คิดว่าไม่ได้มีอะไรมากไปกว่าการเก็บข้อมูลลงฐานข้อมูล MySQL แล้วนำมาแสดงผลให้ผู้เรียกข้อมูลได้ทราบบนหน้าเว็บไซต์

โดยหลักการทั่วไป สิ่งที่จะปรากฏอยู่ในแบบฟอร์มสำหรับเก็บข้อมูลนั้นจะมีคร่าวๆ ดังนี้
1. ชื่อแบบฟอร์ม ข้อมูลส่วนหัวของแบบฟอร์ม
2. รายการคำถาม


ข้อมูลส่วนที่ 1 นั้นจะเป็นส่วนหัว นั่นก็คือข้อมูลหลัก ดังนั้นผมจะนับเป็น
1) ตารางสำหรับเก็บข้อมูลหัวข้อส่วนหัวของแบบสอบถาม


ข้อมูลส่วนที่ 2 นั้น เป็นรายการคำถาม นั่นแสดงว่าต้องมีหลายข้อดังนั้นผมก็จะแยกไปเป็นอีก 1 ตาราง
2) ตารางเก็บรายละเอียดคำถามแต่ละข้อ


สำหรับการตอบคำถามผ่านโปรแกรมนั้น จะแตกต่างจากการตอบบนกระดาษ ที่เก็บผลลัพธ์ไว้บนนั้นเลย ดังนั้นในการเขียนโปรแกรม PHP เราก็จะต้องมีส่วนของการเก็บคำตอบไว้ในฐานข้อมูลด้วย


เพราะแบบฟอร์มที่สร้างขึ้นมานั้น เราจะนำไปใช้กับคนหลายคน ดังนั้นการจะเก็บคำตอบไว้ที่ตารางเดียวกันกับแบบฟอร์มเลยคงจะไม่ดีนัก ดังนั้นก็ต้องสร้างตารางสำหรับเก็บข้อมูลรายละเอียดของผู้ตอบแต่ละคน และคำตอบของแต่ละคำถามของทุกๆคน


เราก็จะต้องสร้างตารางเพิ่มในฐานข้อมูลของเราอีก 1 ตาราง
3) ตารางสำหรับเก็บคำตอบของคำถามแต่ละข้อที่ผู้ใช้เลือกตอบ


ซึ่งสังเกตว่า ตารางใหม่ที่สร้างเข้ามานั้นจะเชื่อมโยงกับตารางเดิม ดังนั้นในตารางใหม่ จะต้องมีฟิลด์ที่ใช้สำหรับอ้างอิง หรือแสดงที่มาว่าเป็นการเก็บข้อมูลจาก ตารางหลักเรคอร์ดไหนด้วย


การออกแบบฐานข้อมูลนั้น ครั้งแรกอาจจะยังไม่สมบูรณ์นัก สำหรับผมแล้วไม่เก่งเรื่องฐานข้อมูลสักเท่าไหร่ดังนั้น ก็จะออกแบบคร่าวๆ พอให้เขียนโค๊ดได้ จากนั้นเมื่อติดปัญหาตรงไหนก็ค่อยปรับแก้อีกที

วิธีนี้ดูเหมือนจะไม่เข้าท่าสักเท่าไหร่ แต่ถ้ามองไปที่ระบบบางทีเราก็ไม่ได้มีข้อมูลครบ (อีกอย่างก็ขี้เกียจหาข้อมูลด้วยแหละ ^^") ดังนั้นถ้าเสียเวลามาคิดออกแบบอย่างเดียว คงจะไม่ได้เริ่มทำสักที

ตอนนี้ก็ประมาณไว้ว่าระบบแบบสอบถามสำหรับรวบรวมข้อมูลด้วย PHP + MySQL นี้น่าจะเสร็จก่อนธันวาคมปีหน้า 555+ ลองคิดดูเอาเองเถอะครับ แต่ละบทความที่อัพเดตห่างกันขนาดไหน คนในสายงานโปรแกรมเมอร์ถ้าไม่ขยันมีหวังได้อดตายเป็นแน่แท้
 
เจอกันอีกทีปีหน้า ครับผม สวัสดีครับ ^O^


-------------------------------------------------------------------------------------

สำหรับบทความเรื่องแบบสอบถามที่ผมตั้งใจเขียนนั้นยังไปไม่ถึงไหน และมีหลายท่านถามเข้ามาอย่างต่อเนื่อง ผมเลยไปหาเว็บให้โหลดซอร์สโค๊ดที่ท่านอื่นเขาแจกฟรีมาให้ดูเป็นตัวอย่างแทนนะครับ
หากนำไปใช้งานจริงก็ลองปรับแต่งเพิ่มเติมตามงานของแต่ละท่านไปนะครับ

ดาวน์โหลดซอร์สโค๊ดได้ที่ http://www.thaicreate.com/php/forum/099342.html
มีข้อสงสัยสอบถามทางเจ้าของกระทู้ได้โดยตรงเลยครับ
ปล. ส่วนบทความและตัวอย่างของผมคงจะเป็นซีรีย์ยาวที่ค้างไว้ก่อน พอจะต้องเขียนยาวๆแล้วใจมันไม่มีเรี่ยวมีแรงซะงั้นครับ ^^"






"PHP ไม่ได้สร้างสุดยอดโปรแกรม
แต่ PHP ช่วยให้งานคุณง่ายขึ้นต่างหาก"

PHP CI MANIA PHP Code Generator 
โปรแกรมช่วยสร้างโค้ด ลดเวลาการเขียนโปรแกรม

สนใจสั่งซื้อเพียง 3,990 บาท



PHP CI MANIA PHP Code Generator 

โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
ราคาสุดคุ้มเพียง 3,990 บาท 
http://www.phpcodemania.com

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

แจกฟรี!! ระบบต่างๆที่พัฒนาด้วย PHP สำหรับนำไปใช้ในงานต่างๆ

       สำหรับหลายท่านที่ขอโค้ดเข้ามาทาง Inbox ของเฟซบุ๊กแฟนเพจ หรือถามถึงระบบต่างๆหลังไมค์มานั้น ส่วนใหญ่ก็มีแจกอยู่แล้วในเว็บบอร์ด ThaiCreate.Com นะครับ และด้านล่างนี้ก็เป็นระบบต่างๆที่แจกให้นำไปลองใช้ลองศึกษากันครับ

สร้างแบบฟอร์มล็อกอิน HTML + PHP

       ผมจะสร้างระบบตัวอย่างเพื่อแสดงให้เห็นการทำงานของสคริปต์ PHP ที่ใช้ในการล็อกอินอย่างง่ายๆ นะครับ โดยที่ผมจะสร้างโฟลเดอร์ใหม่ขึ้นในไดร์ฟที่เราได้กำหนดให้เป็น Directory Root สำหรับรันสคริปต์ PHP ซึ่งผมกำหนดเอาไว้ที่ D:\www ดังนั้นผมจะสร้างโฟลเดอร์ teacher_assistant ขึ้นมาใหม่จะได้พาธเป็น D:\www\teacher_assistant สำหรับการเข้าถึง จะใช้ URL ดังนี้ http://localhost/teacher_assistant หลังจากสร้างโฟลเดอร์เสร็จเรียบร้อยก็จะเริ่มกระบวนการเตรียมโครงสร้างโปรเจ็กต์ด้วยเครื่องมือช่วยเขียนโปรแกรมชื่อว่า eclipse ซึ่งดูวิธีการสร้างโปรเจ็กต์ได้จากบทความ เริ่มต้นสร้างโปรเจ็กต์ ด้วยโปรแกรม eclipse เครื่องมือเขียนโปรแกรม php ในบทความเป็นการสร้างโปรเจ็กต์ที่มีพาธเป็นโฟลเดอร์ login แต่ในที่นี้ต้องเป็นพาธให้ตรงกับโฟลเดอร์ใหม่ที่เราได้สร้างขึ้นด้วยนะครับ

PHP กับการคิดส่วนลดเป็นเปอร์เซ็น 5%, 10%, 20% ตามช่วงราคาที่กำหนด

<?php     $total_price = 1000;     $discount = 0;         if($total_price >= 500 && $total_price < 1001){         $discount = 5;     }elseif($total_price >= 1001 && $total_price <= 5000){         $discount = 10;     }elseif($total_price >= 5001){         $discount = 20;     }         $discount_bath = ($total_price*$discount)/100; ?> <pre> ซื้อสินค้าครบ 0 ถึง 499 บาท ไม่ได้ส่วนลด ซื้อสินค้าครบ 500 ถึง 1000 บาท ได้ส่วนลด 5% ซื้อสินค้าครบ 1001 ถึง 5000บาท ได้ส่วนลด 10% ซื้อสินค้าครบ 5001 บาทขึ้นไป ได้ส่วนลด 20% </pre> <h3>รวมราคาสินค้า = <?php echo number_format($total_price,2);?></h3> <h5>ส่วนลด = <?php echo $discount;?>%  (<?php echo $discount_bath;?> บาท)</h5> <h2>ราคาหลังส่วนลด = <?php echo number_format($total_price - $discount_bath,2);?>บาท</h2> "PHP ไม่ได้สร้างสุดยอดโปรแกรม แต่ PHP ช่วยให้งานคุณง่ายขึ้นต