|
หลังจากที่ได้แบบฟอร์มที่สวยงามแล้ว ก็จะต้องมีการเชื่อมต่อกับฐานข้อมูล เพื่อให้สามารถบันทึกผลการตอบแบบสอบถามจากหน้าเว็บเพจ และสามารถเรียกขึ้นมาดู หรือจะนำเอาค่าต่างๆ ไปประมวลผลได้ การออกแบบสอบถามนี้เราจะเก็บลงในฐานข้อมูล MySQL ซึ่งเป็นฐานข้อมูลที่นิยมใช้งานกันมาก และที่สำคัญใช้งานได้ฟรีๆ อีกด้วย สามารถติดตั้งบนวินโดว์ ลินุกส์ หรือแม็ค ก็ได้เช่นกัน วิธีการติดตั้งจะไม่กล่าวถึงคงจะหาอ่านกันได้อยู่แล้ว ในเว็บครูมนตรีในเมนูไขปัญหาคาใจก็มีบอกไว้
การติดต่อกับฐานข้อมูลนั้น เครื่องมือยอดนิยมก็คงเป็น phpMyAdmin ครับ บางท่านอาจจะใช้ตัวอื่นก็ได้นะอย่าง MySQL Front ตามใจท่าน ตัวอย่างนี้ผมใช้ phpMyAdmin ทั้งบนเครื่องจำลองพีซี และแม็ค (ลินุกส์นะใช่อยู่แล้ว) และเครื่องให้บริการที่เป็นลินุกส์ เปิดหน้าเว็บเพจของ phpMyAdmin ขึ้นมา หลังจากล็อกอินก็จะพบกับหน้าต่างนี้
`ผมจะเริ่มสร้างฐานข้อมูลกันเลย ในภาพนี้ผมใช้ชื่อฐานข้อมูลว่า quiz คลิกที่ปุ่มสร้างก็จะพบกับหน้าต่างถัดไป
เมื่อเปิดมาที่ฐานข้อมูลชื่อ quiz ก็จะมีรายงานว่าไม่พบตารางใดๆ ในฐานข้อมูล (ถ้าพบก็แปลกแล้วล่ะ) เราสร้างตารางเสียเลย ผมตั้งชื่อตารางว่า question ใส่จำนวนช่องตารางเข้าไป 6 ช่อง มำไมถึงต้องมี 6 ช่อง ลองนับดูจะพบว่า 1=sex, 2=age, 3=a1, 4=a2, 5=a3 แล้ว ช่องที่ 6 มาจากไหน มาจากลำดับที่หรือหมายเลข id ของข้อมูลไงครับ เพื่อจำแนกว่าแต่ละแถว (record) เป็นข้อมูลของผู้ตอบแบบสอบถามแต่ละคน คลิกที่ลงมือได้เลย
เมื่อคลิกแล้วจะมาที่หน้าต่างนี้ เราจะกำหนดค่าตัวแปรลงในฟิลด์ ให้ตรงกับแบบสอบถามนะครับ คือ id ที่เรากำหนดขึ้นมาเพิ่ม sex, age, a1, a2, a3,.... ไปเรื่อยๆ จนครบถ้ามีมากกว่าตัวอย่างนี้ ในช่องชนิดก็กำหนดให้เป็น INT สำหรับช่อง id ไม่ต้องกำหนดความยาว และช่อง อื่นๆ ปล่อยว่างไว้ ไปจนถึงช่อง เพิ่มเติม ให้กำหนดเป็น auto_increment และเลือกในช่อง primary key (รูปลูกกุญแจ) เพราะ id จะเป็นการป้อนตัวเลขอัตโนมัติ และเป็นจุดนำสำหรับการอ่านข้อมูลแต่ละแถว
ช่อง sex กำหนดเป็น VARCHAR ใส่ค่าเป็น 1 (เพราะเก็บเลขตัวเดียว ไม่ 1 ก็ 2
ชายหรือหญิง) ช่อง age กำหนดเป็น VARCHAR ใส่ค่าเป็น 3 เผื่อจะมีคนที่อายุเลข 3 หลัก (เกินร้อย) มาตอบ ใส่ 2 ก็พอนะ (นี่เอาแบบขำๆ) ช่อง a1, a2, a3, .... กำหนดเป็น VARCHAR ใส่ค่าเป็น 1 เพราะเก็บเลขหลักเดียวมีค่าจาก 1 - 5 เท่านั้น
ถ้ามีช่องให้กรอกข้อความตัวอักษร เช่น สถาบันการศึกษา หน่วยงาน จังหวัด เบอร์โทรศัพท์ ที่เรากำหนดในฟอร์มเป็นแบบข้อความสั้น ก็สามารถกำหนดค่าตัวแปรเป็น school, officename, province, tel ได้ กำหนดเป็น VARCHAR ใส่ค่าเป็น 50, 75 หรือ 100 สูงสุดที่ 255 แล้วแต่ความยาวของข้อความ ถ้าเป็นเบอร์โทรศัพท์ควรกำหนดเป็น 10 ส่วนกรณีที่เป็นคำถามแบบยาวๆ
คำถามปลายเปิด หรือความคิดเห็น ข้อเสนอแนะ ที่เรากำหนดให้เป็นแบบข้อความยาว ให้กำหนดเป็น TEXT ไม่ต้องใส่ค่าก็ได้
การเรียงลำดับเลือกเอาว่า ฐานข้อมูลของเครื่องให้บริการฐานข้อมูลของท่านใช้การเข้ารหัสภาษาแบบใด ในตัวอย่างใช้ tis620_thai_ci บางแห่งอาจจะใช้ utf8_general_ci ต้องถามผู้ให้บริการดู เสร็จแล้วก็คลิกปุ่มบันทึก หากสร้างตารางไม่พอสามารถคลิกเพิ่มแถวตารางได้ (ข้างๆ ปุ่มบันทึกเพิ่มเอาอยากได้กี่แถว)
นี่คือตารางที่สร้างเสร็จแล้วจำนวน 5+1 ช่องตามที่เราสร้างในแบบฟอร์มของแบบสอบถามตัวอย่างนั่นเอง ก่อนการทดลองตอบแบบสอบถาม ต้องไปแก้ไขข้อมูลเกี่ยวกับฐานข้อมูล ชื่อผู้ใช้งาน รหัสผ่านและตาราง ในไฟล์ response.php กับ view.php ก่อนนะครับ เดี๋ยวจะตกอกตกใจ เหตุไฉนไม่ยอมบันทึกข้อมูลลงในตาราง
ผมทดสอบตอบแบบสอบถามสองครั้ง ครั้งแรกเพศชาย อายุ 35 ปี คลิกตอบมั่วๆ ไป แล้วตอบอีกครั้งเลือกเป็นหญิง อายุ 27 ปี ดังภาพข้างบน เมื่อส่งแบบสอบถามแล้วก็ไปดูในตารางฐานข้อมูลกันว่ามีบันทึกไว้หรือไม่?
สำเร็จครับ มีข้อมูลในตาราง question จำนวน 2 แถว เพศชาย อายุ 35 ถูกต้อง และแถวที่ 2 เพศหญิง อายุ 27 ถูกต้อง อย่าช้าใยเราไปเรียกไฟล์ view.php ดูผลกันดีกว่าว่ารายงานได้ไหม?
โอ๊ว! จอร์จ มันยอดมากเลย แสดงผลได้ถูกต้องจริงๆ ด้วย ก็เป็นอันสำเร็จแล้วครับ การนำข้อมูลไปใช้งานก็ลากดำเอาข้อความนี้ไปวางลงในโปรแกรมพวกตารางทำงาน (spreadsheet) ได้เลย หรือจะส่งออกข้อมูลมาในรูปไฟล์ csv, excel, text จากระบบของ phpMyAdmin ก็ได้ครับ ต่อจากนั้นท่านจะเอาไปแปรผลอย่างไรก็เชิญตามสบายเลยนะครับ
|
บริการพิเศษเพื่อคุณ
สำหรับท่านที่สนใจอยากทำแบบสอบถามออนไลน์ แต่ไม่มีเวลาทำเอง ไม่มีโฮสท์สำหรับใช้งาน มีทุนน้อย ใช้บริการกับเราได้ครับ ด้วยค่าบริการเหมาจ่ายพร้อมทั้งสร้างแบบสอบถามออนไลน์ให้เลย คิดค่าบริการตามระยะเวลาดังนี้
- ค่าบริการเดือนแรกพร้อมแบบสอบถาม 1,500 บาท (ท่านส่งไฟล์แบบสอบถามที่เป็นเอกสารประมวลผลคำมาให้เรา)
- ค่าบริการในเดือนถัดๆ ไปเดือนละ 500 บาท สิ้นสุดระยะเวลาเราส่งไฟล์ข้อมูลในรูปตารางทำงานให้ท่านทันที
ติดต่อสอบถามได้ที่โทรศัพท์ (AIS) 08-1878-3521, (DTAC) 08-9625-8336, (TRUE) 08-3462-4996 หรืออีเมล์ krumontree@gmail.com ยินดีให้บริการ
|
|