สารบัญ
การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL
บทนํา
บทที่ 1 การใชงานโปรแกรม AppServ
ทําความรูจักกับโปรแกรม AppServ
วิธีการติดตั้งโปรแกรม AppServ
วิธีการใชงาน AppServ

1
2
8

บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล
การใชงานอ็อบเจ็คตของฟอรมชนิดตางๆ

9

บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP
ทําความรูจักกับภาษา PHP
เริ่มตนเขียนโปรแกรมดวยภาษา PHP
การจัดการกับ HTML Form
ชนิดของขอมูล
Operators
การคํานวน
ประโยคคําสั่งแบบมีเงื่อนไข
การจัดการเกี่ยวกับวัน และเวลา
การสรางสวนเชื่อมโยงฐานขอมูล MySQL

16
17
20
22
26
29
32
38
40

บทที่ 4 การใชงานฐานขอมูล MySQL
ทําความรูจักกับฐานขอมูล
คําศัพทพื้นฐาน
รูปแบบของฐานขอมูล
ความสัมพันธ
ประเภทของคีย
กฎที่ใชจัดเก็บขอมูลในฐานขอมูลเชิงสัมพันธ

42
43
44
49
52
52
รูจักกับฐานขอมูล MySQL
คําสั่งที่ใชทํางานกับฐานขอมูล MySQL
สรุปคําสั่ง SQL
การใชโปรแกรมจัดการฐานขอมูลดวย PhpMyAdmin

54
55
91
96

บทที่ 5 การจัดการฐานขอมูลดวยคําสังสําเร็จรูปในโปรแกรม Dreamweaver
่
การติดตอฐานขอมูล
การสรางระบบแสดงผลขอมูล
การสรางระบบเพิ่มขอมูล
การสรางระบบแกไขขอมูล
การสรางระบบลบขอมูล

105
109
112
114
120

สารบัญ(ตอ)
การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL
บทนํา
ปจจุบันระบบคอมพิวเตอรไดเขามามีบทบาทอยางมากตอหนวยงาน หรือองคกรตางๆ ไมวาจะเปน
ภาครัฐหรือภาคเอกชน เพราะระบบคอมพิวเตอรเขามาชวยในการบริหารจัดการขอมูลตางๆ ของหนวยงาน หรือ
องคกร ซึ่งในปจจุบันมีขอมูลมีจํานวนมาก และการจัดการขอมูลตางๆ ยังไมเปนระบบมากนัก ทําใหเปนการยาก
ตอการประมวลผลและการสืบคนขอมูล ระบบคอมพิวเตอรจึงเขามาชวยในการเพิ่มความสะดวกรวดเร็ว และ
งายตอการบริหารจัดการขอมูล ไมวาจะเปนขอมูลบุคลากร ขอมูลเอกสาร หนังสือราชการ และขอมูลสารสนเทศ
อื่นๆ ดังนั้นการพัฒนาความรูความสามารถในการเขียนโปรแกรมคอมพิวเตอรสําหรับบุคลากรในหนวยงาน จึง
เปนสิ่งสําคัญ เพราะสามารถนําความรูที่ไดรับไปสรางหรือพัฒนาโปรแกรมในการบริหารจัดการขอมูลตางๆได
อยางทันสมัยและเปนระบบ เพื่อเพิ่มความสะดวกรวดเร็วในการจัดเก็บ สืบคน ประมวลผลขอมูล และเพิ่ม
ประสิทธิภาพในการทํางาน ใหเกิดประโยชนสูงสุดตอหนวยงาน

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่
การใชงานโปรแกรม AppServ

1

ทําความรูจักกับโปรแกรม AppServ
AppServ คือโปรแกรมที่รวบรวมเอา Open Source Software หลายๆ อยางมารวมกันโดยมี Package
หลักดังนี้
- Apache
- PHP
- MySQL
- PhpMyAdmin
โปรแกรมตางๆ ที่นํามารวบรวมไวทั้งหมดนี้ ไดทําการดาวนโหลดจาก Official Release ทั้งสิ้น โดยตัว
AppServ จึงใหความสําคัญวาทุกสิ่งทุกอยางจะตองใหเหมือนกับตนฉบับ จึงไมไดตดทอนหรือเพิมเติมอะไรที่
ั
่
แปลกไปกวา Official Release แตอยางใด เพียงแตมีบางสวนเทานันทีไดเพิ่มประสิทธิภาพการติดตังให
้ ่
้
สอดคลองกับการทํางานแตละคน โดยทีการเพิ่มประสิทธิภาพนี้ไมไดไปยุง ในสวนของ Original Package เลย
่
แมแตนอยเพียงแตเปนการกําหนดคา Config เทานั้น เชน Apache ก็จะเปนในสวนของ httpd.conf, PHP ก็จะเปน
ในสวนของ php.ini, MySQL ก็จะเปนในสวนของ my.ini ดังนั้นจึงรับประกันไดวาโปรแกรม AppServ สามารถ
ทํางานและความเสถียรของระบบ ไดเหมือนกับ Official Release ทั้งหมด
จุดประสงคหลักของการรวมรวบ Open Source Software เหลานี้เพื่อทําใหการติดตั้งโปรแกรมตางๆ ที่
ไดกลาวมาใหงายขึ้น เพื่อลดขั้นตอนการติดตั้งที่แสนจะยุงยากและใชเวลานาน โดยผูใชงานเพียงดับเบิ้ลคลิก
Setup ภายในเวลา 1 นาที ทุกอยางก็ตดตั้งเสร็จสมบูรณระบบตางๆ ก็พรอมที่จะทํางานไดทันทีทั้ง Web Server,
ิ
Database Server เหตุผลนี้จึงเปนเหตุผลหลักที่หลายๆ คนทั่วโลก ไดเลือกใชโปรแกรม AppServ แทนการที่
จะตองมาติดตังโปรแกรมตางๆ ที่ละสวน
้

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 1 การใชงานโปรแกรม AppServ

2

วิธีการติดตั้งโปรแกรม AppServ
เตรียมโปรแกรมเพื่อติดตัง
้
ดาวนโหลดโปรแกรม AppServ จากเว็บไซต http://www.appservnetwork.com/ โดยเลือกเวอรชั่นที่
ตองการติดตั้งระหวางเวอรชน 2.4.x และ 2.5.x โดยความแตกตางของ 2 เวอรชั่นนี้คือ
ั่
2.4.x คือเวอรชั่นที่นํา Package ที่มีความเสถียรเปนหลัก เหมาะสําหรับผูที่ตองการความมั่นคงของ
ระบบโดยไมไดมุงเนนทีจะใชฟงกชั่นใหม
่
2.5.x คือเวอรชั่นที่นํา Package ใหมๆ นํามาใชงานโดยเฉพาะ เหมาะสําหรับนักพัฒนาที่ตองการระบบ
ใหมๆหรือตองการทดสอบ ทดลองใชงานฟงกชั่นใหม ซึงอาจจะไมไดความเสถียรของระบบได 100%
่
เนื่องจากวา Package จากนักพัฒนานั้น ยังอยูในชวงของขั้นทดสอบ ทดลองเพื่อหาขอผิดพลาดอยู
ขั้นตอนการติดตัง AppServ
้
1. ดับเบิ้ลคลิกไฟล appserv-win32-x.x.x.exe เพื่อทําการติดตั้ง จะปรากฏหนาจอตามรูป

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 1 การใชงานโปรแกรม AppServ

3

2. เขาสูขั้นตอนเงื่อนไขการใชงานโปรแกรม โดยโปรแกรม AppServ ไดแจกจายในรูปแบบ GNU
License หากผูติดตั้งอานเงื่อนไขตางๆ เสร็จสิ้นแลว หากยอมรับเงื่อนไขใหกด Next เพื่อเขาสูการติดตั้งในขั้น
ตอไป แตหากวาไมยอมรับเงือนไขใหกด Cancel เพื่อออกจากการติดตั้งโปรแกรม AppServ ดังรูป
่

3. เขาสูขั้นตอนการเลือกปลายทางที่ตองการติดตั้ง โดยคาเริ่มตนปลายทางที่ติดตั้งจะเปน C:AppServ
หากตองการเปลี่ยนปลายทางที่ติดตั้ง ใหกด Browse แลวเลือกปลายทางที่ตองการ ตามรูปเมื่อเลือกปลายทาง
เสร็จสิ้นใหกดปุม Next เพื่อเขาสูขั้นตอนการติดตั้งขั้นตอไป

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 1 การใชงานโปรแกรม AppServ

4

4. เลือก Package Components ที่ตองการติดตัง โดยคาเริ่มตนนั้นจะใหเลือกลงทุก Package แตหากวา
้
ผูใชงานตองการเลือกลงเฉพาะบาง Package ก็สามารถเลือกตามขอที่ตองการออก โดยรายละเอียดแตละ
Package มีดังนี้
- Apache HTTP Server คือ โปรแกรมที่ทําหนาเปน Web Server
- MySQL Database คือ โปรแกรมที่ทําหนาเปน Database Server
- PHP Hypertext Preprocessor คือ โปรแกรมที่ทําหนาประมวลผลการทํางานของภาษา PHP
- PhpMyAdmin คือ โปรแกรมที่ใชในการบริหารจัดการฐานขอมูล MySQL ผานเว็บไซต
เมื่อทําการเลือก Package ตามรูป เรียบรอยแลว ใหกด Next เพื่อเขาสูขั้นตอนการติดตั้งตอไป

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 1 การใชงานโปรแกรม AppServ

5

5. กําหนดคาคอนฟกของ Apache Web Server มีอยูดวยกันทั้งหมด 3 สวน ตามรูป คือ

Server Name คือชองสําหรับปอนขอมูลชื่อ Web Server ของทานเชน
localhost
Admin Email คือชองสําหรับปอนขอมูล อีเมลผูดูแลระบบ เชน
root@localhost
HTTP Port คือชองสําหรับระบุ Port ที่จะเรียกใชงาน Apache Web Server
โดยทัวไปแลว ProtocolHTTP นั้นจะมีคาหลักคือ 80 หากวาทาน
่
ตองการหลีกเลี่ยงการใช Port 80 ก็สามารถแกไขไดหากมีการ
เปลี่ยนแปลง Port การเขาใชงาน Web Server แลว ทุกครั้งที่เรียกใช
งานเว็บไซตจําเปนที่ตองระบุหมายเลข Port ดวย เชน หากเลือกใช

Port 99 ในการเขาเว็บไซตทุกครั้งตองใช http://localhost:99/
จึงจะสามารถเขาใชงานได

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 1 การใชงานโปรแกรม AppServ

6

6. กําหนดคาคอนฟกของ MySQL Database มีอยูดวยกันทังหมด 3 สวน ตามรูป คือ
้
Root Password คือชองสําหรับปอน รหัสผานการเขาใชงานฐานขอมูลของ Root
หรือผูดูแลระบบทุกครั้งที่เขาใชงานฐานขอมูลในลักษณะที่เปน
ผูดูแลระบบ ใหระบุ user คือ root
Character Sets ใชในการกําหนดคาระบบภาษาทีใชในการจัดเก็บฐานขอมูล,
่
เรียงลําดับฐานขอมูล,Import ฐานขอมูล, Export ฐานขอมูล,
ติดตอฐานขอมูล
Old Password หากทานมีปญหาเกี่ยวกับการใชงาน PHP กับ MySQL API เวอร

ชั่นเกาโดยเจอ Error Client does not support authentication
protocol requested by server; consider upgrading MySQL
clientใหเลือกในสวนของ Old Password เพื่อหลีกเลี่ยงปญหานี้
Enable InnoDB หากทานตองการใชงานฐานขอมูลในรูปแบบ InnoDB ใหเลือก
ในสวนนี้ดวย


การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 1 การใชงานโปรแกรม AppServ

7

7. สิ้นสุดขั้นตอนการติดตั้งโปรแกรม AppServ สําหรับขั้นตอนสุดทายนี้จะมีใหเลือกวาตองการสั่งใหมี
การรัน Apache และ MySQL ทันทีหรือไม จากนั้นกดปุม Finish เพื่อเสร็จสิ้นการติดตั้งโปรแกรม AppServ


การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 1 การใชงานโปรแกรม AppServ

8

วิธีการใชงาน AppServ
ทดสอบการใชงานเบื้องตน
หลังจากติดตังโปรแกรม AppServ และเขาใจถึงโครงสราง Directory ตางๆ แลวก็สามารถเริ่มเขียน
้
โปรแกรมภาษา PHP หรือจัดทําเว็บไซตไดทันที โดยขอมูลตางๆ ที่ทําขึ้นนั้นจะตองเก็บลงใน C:/AppServ/www
เชน หากทําโปรแกรมชื่อวา test.php หลังจากเขียนโปรแกรมเสร็จแลวตองการเริ่มตนทดสอบรันโปรแกรม ให
ทําการเปด Browser ขึ้นมา แลวเรียกตรงไปที่ชื่อไฟลโปรแกรมที่สรางขึ้น เชน http://localhost/test.php ดังรูป

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่
การสรางและการใชงานฟอรมในการรับขอมูล

2

การใชงานอ็อบเจ็คตของฟอรมชนิดตางๆ
อ็อบเจ็คต คือสวนของฟอรมที่ใชในการรับขอมูลจากผูใช กอนที่จะแทรกอ็อบเจ็คตลงบนเว็บเพจ ตอง
มีการสรางหรือแทรกฟอรมลงในเว็บเพจกอนเสมอ หากมีการแทรกอ็อบเจ็คตลงในสวนที่ไมมฟอรม
ี
Dreamweaver จะถามโดยปรากฏไดอะล็อก “Add form tags?” ใหเลือก Yes เพื่อให Dreamweaver สราง
แท็กฟอรมสําหรับอ็อบเจ็คตนั้น

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล

10

การใชงานอ็อบเจ็คต Text Field
ตัวอยาง

อ็อบเจ็คตชนิด Text Field จะมีหนาทีในการรับคาขอมูล เพื่อใชในการจัดเก็บขอมูลหรือสงคาบางอยาง
่
ที่ตองการคนหา เชน ใชในการคนหาขอมูล (Search Engine) เปนตน
วิธีการสราง Text Field ทําไดโดยการคลิกเมนู Insert > Form > Text Field เสร็จแลวใหกําหนด
คุณสมบัติของ Text Field โดยใหคลิกเลือกที่ Text Field ในเว็บเพจ หลังจากนันใหไปที่เมนู
้
Window > Properties จะปรากฏคุณสมบัติของ Text Field แสดงในไดอะล็อก Properties

คุณสมบัติของอ็อบเจ็คต Text Field
• TextField กําหนดชื่อของอ็อบเจ็คต Text Field
• Char Width กําหนดความกวางของ Text Field
• Max Chars กําหนดจํานวนตัวอักษรสูงสุดที่กรอกขอมูลไดของ Text Field
• Type กําหนดชนิดของ Text Field มี 3 ลักษณะ คือ
• Single Line กําหนดใหแสดงเปนแบบบรรทัด (Textarea)
• Multi Line กําหนดใหแสดงเปนแบบหลายบรรทัด
• Password กําหนดใหแสดงแบบรหัสผาน
• Init Val กําหนดคาเริ่มตน

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล

11

การใชงานอ็อบเจ็คต Textarea
ตัวอยาง

อ็อบเจ็คตชนิด Textarea จะมีหนาที่ในการรับคาขอมูลที่มีขนาดใหญ เชน ที่อยู เปนตน
วิธีการสราง Text Field ทําไดโดยการคลิกเมนู Insert > Form > Textarea เสร็จแลวใหกําหนด
คุณสมบัติของ Textarea โดยใหคลิกเลือกที่ Textarea ในเว็บเพจ หลังจากนั้นใหไปที่เมนู
Window > Properties จะปรากฏคุณสมบัติของ Textarea แสดงในไดอะล็อก Properties

คุณสมบัติของอ็อบเจ็คต Textarea:
• TextField กําหนดชื่อของอ็อบเจ็คต Textarea
• Char Width กําหนดความกวางของ Textarea
• Max Chars กําหนดจํานวนตัวอักษรสูงสุดที่กรอกขอมูลไดของ Textarea
• Type กําหนดชนิดของ Textarea คือ Multi Line
• Init Val กําหนดคาเริ่มตน

การใชงานอ็อบเจ็คต Button
ตัวอยาง

อ็อบเจ็คตชนิด Button มักถูกนํามาใชเพื่อทําหนาที่ในการยืนยันการเพิ่มขอมูล แกไขขอมูล การลบ
ขอมูล หรือยกเลิกการใชงาน

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล

12

วิธีการสราง Button ทําไดโดยการคลิกเมนู Insert > Form > Button เสร็จแลวใหกาหนดคุณสมบัติ
ํ
ของ Button โดยใหคลิกเลือกที่ Button ในเว็บเพจ หลังจากนั้นใหไปที่เมนู Window > Properties จะปรากฏ
คุณสมบัติของ Button แสดงในไดอะล็อก Properties

คุณสมบัติของอ็อบเจ็คต Button:
• Button name กําหนดชื่อของอ็อบเจ็คต Button
• Label กําหนดขอความที่จะแสดงบนปุม Button
• Action กําหนดชนิดของ Action มี 3 ลักษณะ คือ
o Submit Form กําหนดใหใชสําหรับสงฟอรมไปประมวลผล
o Reset Form กําหนดใหใชสําหรับยกเลิกการกรอกขอมูลในฟอรม
o None กําหนดใหเปนปุมทีคลิกแลวไมทํางานใดๆ
่

การใชงานอ็อบเจ็คต Check Box
ตัวอยาง

อ็อบเจ็คตชนิด Check Box ทําหนาที่เพื่อแสดงตัวเลือกใหผูใชไดเลือกตัวเลือกที่กําหนดให ซึ่งสามารถ
เลือกไดมากกวา 1 ตัวเลือก
วิธีการสราง Check Box ทําไดโดยการคลิกเมนู Insert > Form > Check Box เสร็จแลวใหกําหนด
คุณสมบัติของ Check Box โดยใหคลิกเลือกที่ Check Box ในเว็บเพจ หลังจากนั้นใหไปที่เมนู
Window > Properties จะปรากฏคุณสมบัติของ Check Box แสดงในไดอะล็อก Properties

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล

13

คุณสมบัติของอ็อบเจ็คต Check Box
• CheckBox กําหนดชื่อของอ็อบเจ็คต Check Box
• Checked Value กําหนดคาให Check Box
• Initial State กําหนดสถานะเริ่มตนเมื่อแสดงบนเว็บเพจ มี 2 ลักษณะ คือ
o Checked กําหนดใหเริ่มตนโดยใหสถานะเปนถูกเลือกไว
o Unchecked กําหนดใหเริ่มตนโดยสถานะไมใหถูกเลือก

การใชงานอ็อบเจ็คต Radio Button
ตัวอยาง

อ็อบเจ็คตชนิด Radio Button ทําหนาที่เพื่อแสดงตัวเลือกใหผูใชไดเลือกตัวเลือกทีกําหนดให ซึ่ง
่
สามารถเลือกไดเพียง 1 ตัวเลือกเทานั้น เชน การเลือกระบุเพศ ชาย หรือ หญิง จะเปนการเลือกเพศใดเพศหนึ่ง
เพียงเพศเดียวเทานั้น
วิธีการสราง Radio Button ทําไดโดยการคลิกเมนู Insert > Form > Radio Button เสร็จแลวให
กําหนดคุณสมบัติของ Radio Button โดยใหคลิกเลือกที่ Radio Button ในเว็บเพจ หลังจากนั้นใหไปที่เมนู
Window > Properties จะปรากฏคุณสมบัติของ Radio Button แสดงในไดอะล็อก Properties

คุณสมบัติของอ็อบเจ็คต Radio Button
• RadioButton กําหนดชื่อของอ็อบเจ็คต Radio Button หากเปนการเลือกอยางใดอยางหนึ่ง
จากตัวเลือกตังแต 2 ตัวขึ้นไป จะตองกําหนดชื่อของ Radio Button ทุกตัวใหชื่อเหมือนกัน
้
มิฉะนั้น การทํางานของ Radio Button จะไมถูกตอง
• Checked Value กําหนดคาให Radio Button
• Initial State กําหนดสถานะเริ่มตนเมื่อแสดงบนเว็บเพจ มี 2 ลักษณะ คือ
• Checked กําหนดใหเริ่มตนโดยใหสถานะเปนถูกเลือกไว
• Unchecked กําหนดใหเริ่มตนโดยสถานะไมใหถูกเลือก
การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล

14

การใชงานอ็อบเจ็คต List/Menu
ตัวอยาง

อ็อบเจ็คตชนิด List/Menu ทําหนาที่เพื่อกําหนดคาโดยทีใชไมตองพิมพตัวเลือกที่ตองการลงไป เพียง
่
แคคลิกเลือกรายการตางๆ ทีไดกําหนดไวใหแลวเทานั้น สามารถเลือกไดเพียง 1 ตัวเทานั้น
่
วิธีการสราง List/Menu ทําไดโดยการคลิกเมนู Insert > Form > List/Menu เสร็จแลวใหกําหนด
คุณสมบัติของ List/Menu โดยใหคลิกเลือกที่ List/Menu ในเว็บเพจ หลังจากนันใหไปที่เมนู
้
Window > Properties จะปรากฏคุณสมบัติของ List/Menu แสดงในไดอะล็อก Properties

คุณสมบัติของอ็อบเจ็คต List/Menu
• List/Menu กําหนดชื่อของอ็อบเจ็คต List/Menu
• Type เลือกการทํางานเปนแบบ Menu หรือ List
• Initially Selected แสดงคาตัวเลือกที่กําหนดมาจาก List Values

การใชงานอ็อบเจ็คต File Field
ตัวอยาง

อ็อบเจ็คตชนิด File Field นี้ ทําหนาที่ในการแสดงรายชือไฟลตางๆ เพื่อใหผูใชเว็บไซตสามารถเลือก
่
ไฟลเหลานั้นขึนมาใชงาน เชน การอัปโหลดไฟล เปนตน
้
วิธีการสราง File Field ทําไดโดยการคลิกเมนู Insert > Form > File Field เสร็จแลวใหกําหนด
คุณสมบัติของ File Field โดยใหคลิกเลือกที่ File Field ในเว็บเพจ หลังจากนันใหไปที่เมนู
้
Window > Properties จะปรากฏคุณสมบัติของ File Field แสดงในไดอะล็อก Properties
การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล

15

คุณสมบัติของอ็อบเจ็คต File Field
• FileField กําหนดชื่อของอ็อบเจ็คต File Field
• Char Width กําหนดความกวางของ File Field
• Max Chars กําหนดจํานวนตัวอักษรสูงสุด

การใชงานอ็อบเจ็คต Hidden Field
อ็อบเจ็คตชนิด Hidden Field นี้ จะทํางานในลักษณะลองหน กลาวคือ มีจุดประสงคเพื่อใชในการ
ประมวลผลขอมูล ที่ไดรับจากการใชงานฟอรมตางๆ ซึ่งฟลดแบบ Hidden Field นี้ จะไมมการติดตอสื่อสารกับ
ี
ผูใชงานฟอรม แตอยางใด รวมทั้งไมมีการแสดงผลบนหนาเว็บเพจดวย
วิธีการสราง Hidden Field ทําไดโดยการคลิกเมนู Insert > Form > Hidden Field เสร็จแลวให
กําหนดคุณสมบัติของ Hidden Field โดยใหคลิกเลือกที่ Hidden Field ในเว็บเพจ หลังจากนั้นใหไปที่เมนู
Window > Properties จะปรากฏคุณสมบัติของ Hidden Field แสดงในไดอะล็อก Hidden Field

คุณสมบัติของอ็อบเจ็คต Hidden Field
• HiddenField กําหนดชื่อของอ็อบเจ็คต Hidden Field
• Value กําหนดคาเริ่มตนสําหรับ Hidden Field

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่
การเขียนโปรแกรมดวยภาษา PHP

3

ทําความรูจักกับภาษา PHP
ภาษา PHP ถูกสรางขึ้นในป ค.ศ. 1994 โดย Rasmus Lerdorf ตอมา มีผูใหความสนใจเปนจํานวนมาก
จึงไดออกเปนแพ็คเกจ “Personal Home Page” ซึ่งเปนที่มาของ PHP เปน Server Side Script และเปน Open
Source ที่ผูใชสามารถดาวนโหลด และโปรแกรมไดฟรี
ภาษา PHP จะทํางานรวมกับเอกสาร HTML โดยการแทรกโคดระหวาง Tag HTML และสรางไฟลที่มี
นามสกุลเปน .php .php3 หรือ .php4 ซึ่งไวยากรณทใชในภาษา PHP เปนการนํารูปแบบของภาษาตางๆ มา
ี่
รวมกันไดแก C, Perl และ Java ท่ําใหผูที่มีพื้นฐานของภาษาเหลานี้อยูแลวสามารถศึกษา และใชงานภาษา PHP
ไดไมยาก
ความสามารถของภาษา PHP
• เปน Open Source
• สามารถติดตั้งบน Win 32 หรือ Linux/Unix ก็ได
• เขียนงายเพราะนําเอา Perl และ C มาพัฒนา ผูที่เขียน Perl หรือ C อยูแลวก็สามารถศึกษาไดงาย
• ความสามารถพิเศษดานติดตอฐานขอมูล Database
• มี Function สําเร็จรูปมาให จากที่เคยเขียนคําสั่งมากมายใน Perl, C
• เปน Scripting language ที่สามารถแทรกเปน Script tag ตามจุดตางๆภายใน html tag ได

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

17

เริ่มตนเขียนโปรแกรมดวยภาษา PHP
เมื่อทําการติดตั้งชุดติดตั้งโปรแกรม PHP แอพพลิเคชั่นเซิรฟเวอรเรียบรอยแลว ไฟลของ PHP ที่สราง
ขึ้นจะตองเก็บไวที่ Root Directory เชน AppServ จะอยูที่ c:/AppServ/www/
การแทรก Script PHP ใน HTML
รูปแบบการใชคําสั่ง PHP จะแตกตางจาก CGI ตัวอื่นๆ เชน Perl หรือ C เพราะวา PHP ยอมใหเรา
สอดแทรก คําสั่งตางๆ ลงใน File html ไดเลย โดยสามารถแทรกเปนระยะๆได และแปลงนามสกุล File html
จาก *.html เปน *.php รูปแบบการแทรกคําสั่งดังกลาวจะคลายคลึงกับ java script หรือ ASP
ตัวอยางการแทรก script php เชน
<HTML>
<HEAD><TITLE>การทดสอบการแทรก script php</TITLE></HEAD>
<BODY>
<H1><? echo "This is test script PHP" ?></H1>
</BODY>
</HTML>

ผลลัพธที่ได

This is test script PHP
เนื่องจาก PHP เปนภาษาที่พัฒนาภายหลังภาษาอืนๆ จึงพยายามเอาจุดเดนของแตละภาษามาพัฒนา
่
ปรับปรุงใชใน PHP ดังนั้น PHP จึงมีความยืดยุนสูงสามารถใชรูปแบบการแทรกคําสัง ไดหลายแบบ เชน

่

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

18

SGML Style
<? echo ("This is the PHP Commandn"); ?>
XML Style
<?php echo("This is the PHP Commandn"); ?>
Java Script Style
<script language="php">
echo ("This is the PHP Command"n);
</script>
ASP Style
<% echo ("This is the PHP Command"n); %>

จากตัวอยางการแทรก Script PHP ดวยรูปแบบตางๆขางตน จะเห็นไดวาใชไดหลายรูปแบบดังนั้น ใครเคย
ใชรูปแบบใดมากอนก็เลือกใชในรูปแบบที่ตนถนัดไดเลย
ทดสอบการเขียน PHP โปรแกรมแรก
ที่นี้เรามาทดสอบการเขียน PHP โปรแกรมแรกกันขอใหดูจากตัวอยาง (ขอใชการแทรก script แบบ
SGML Style ซึ่งเปนที่นิยมกัน)
ตัวอยางการเขียน Script PHP
การเขียน Script PHP แบบ C Programing และ Perl Programing
<HTML>
<HEAD><TITLE>การทดสอบการแทรก script php</TITLE></HEAD>
<BODY>

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

19

//By C style
<? echo "<font color=red>CGI PHP is easy by C style </font><br>n" ?>
//By Perl style
<? print "<font color=blue>CGI PHP is easy by Perl style</font>" ?>
</BODY>
</HTML>

ผลลัพธที่ได
CGI PHP is easy by C style
CGI PHP is easy by C style

จะเห็นไดวาใชคําสั่ง print ของ Perl หรือ echo ของ C ก็ใชได ดังนันถาคุณถนัดเขียนไมวาจะเปน Perl
้
หรือ C ก็สามารถเขียน PHP ไดอยางสบาย
Comments
การเขียนโปรแกรมที่มีความยาวมาก มีขอมูลคําสั่งเปนพันๆบรรทัด Programmer ไมสามารถจําคําสั่ง

การทํางานของ Programe ไดทุกบรรทัด ดังนั้นจําเปนตองมีการ Comments เตือนความจําในบรรทัดที่ตองการ
และยังเปนประโยชนสําหรับ Programmer คนอื่นที่จะเขามาแกไขดวย PHP มีไดรูปแบบการ Comments ไวให
เราเลือกใชตามความถนัดหลายรูปแบบ ผูใชสามารถเลือกเอาแบบที่ตนเองถนัดไดดังตอไปนี้
ตัวอยางการแทรก Comments
<?
echo "Hi Hello Word";
echo "Hi Hello Word";
echo "Hi Hello Word";
?>

// การ Comments แบบ C++
/* การ Comments แบบ C */
# การ Comments แบบ Perl

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

20

การจัดการกับ HTML Form
จากที่ผานมาเราไดทดสอบเขียน PHP กันแลว แตเขียนในรูปของ ภาษา PHP อยางเดียว ยังมิไดเขียน
รวมกับ HTML Form ซึ่งนับวาเปนหัวใจสําคัญของ CGI (Command Gate Way Interface) กอนเริ่มเขียน ขอ
แนะนําใหผูที่ยังไมเคยเขียนหรือไมเขาใจเกี่ยวคําสั่ง Form ของ html ตองกลับไปทบทวนเขียนใหคลองเสียกอน
เพราะถือวา Form เปนประตูดานแรกที่จะนําเราเขาสู CGI (Command Gate Way Interface) และเชือมตอ PHP
่
เรามาเริ่มกันเลย
ตัวอยาง file html
order.html
<html>
<head><title>ShoppingForm สั่งซื้อสินคา</title>
</head>
<body>
<center><h1>Form สั่งซื้อสินคา</h1><center>
<form method="POST" action="order.php">
Name <input type="text" name="name"><br>
Email<input type="text" name="email"><p>
ตองการสั่งซื้อหนังสือ
<input type="checkbox" name="book1" value="Database On Web">Database On Web<br>
<input type="checkbox" name="book2" value="CGI PHP">CGI PHP<br>
<input type="submit" value="Order Now"><input type="reset" value="Reset">
</form>
</body>
</html>

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

21

ตัวอยาง file php
order.php
<html>
<head><title>Form สั่งซื้อสินคา</title>
</head>
<?
print "คุณ $name <br> ";
print "Email $email <br>";
print "สินคาที่คุณตองการสั่ง <br>";
print "$book1<br>";
print "$book2<br>";
?>
</body>
</html>

ทดลอง Run

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

22

ผลลัพธ

คําอธิบาย
ใน file order.html เราไดกําหนดตัวแปรไว ดังนี้
$name = ชื่อผูสั่งสินคา
$email = email ของผูสั่งสินคา
$book1= สินคาหนังสือ Database On Web
$book2= สินคาหนังสือ CGI PHP
ใน file order.php ไดกําหนดตัวแปรเชนเดียวกับ order.html
เมื่อ order.html สงตัวแปรทั้งหมดที่ถูกเลือกและถูกใสขอมูลลงไป จากนั้น order.php ก็จะรับคาตัวแปร
และแสดงผลออกทางจอภาพ

ชนิดของขอมูล
ในการพัฒนาโปรแกรม ขอมูลมีสวนเกียวของเปนอยางมาก และในขณะเดียวกันขอมูลก็มีมากมาย
่
หลายประเภท การจัดจําพวกของขอมูลใหอยูในชนิดเดียวกันจะทําใหสะดวกแกการใชงาน PHP ก็เชนกันได
จัดแบงชนิดของขอมูลไวดังนี้
ชนิดของขอมูล PHP
• integer
• floating-point numbers
• string
• array
• object
การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

23

1. Integer จํานวนเต็ม
ตัวอยาง Integer ไดแก
$a = 1234; # decimal number
$a = -123; # a negative number
$a = 0123; # octal number (equivalent to 83 decimal)
$a = 0x12; # hexadecimal number (equivalent to 18 decimal)
2. floating-point numbers เลขทศนิยม
ตัวอยาง floating-point numbers ไดแก
$a = 1.234;
$a = 1.2e3;
3. String ตัวอักษร
ตัวอักษร กลุมคําหรือชุดตัวอักษร ใน PHP เราจะใชเครื่องหมายฟนหนู (") ครอมไวหัวทายของชุด
ตัวอักษร ในลักษณะเดียวกับ Perl และ C และใชเครืองหมาย backslash () เปนตัวควบคุม ตัวอยาง
่
ไดแก
n หมายถึง newline
r หมายถึง carriage
t หมายถึง horizontal tab
 หมายถึง backslash
$ หมายถึง dollar sign
" หมายถึง double-quote
4. Array ชุดของขอมูล
เปนการเก็บขอมูลเปนชุด เปนแถว หรือกลุมของขอมูล เชน เดือนก็ จะประกอบไปดวย มกราคม
กุมภาพันธ มีนาคม .... เปนตน PHP ไดแบบ Array เปน 2 แบบคือ
แบบมิติเดียว เชน
$day[1]="Monday";
$day[2]="Tuesday";

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

24

$day[3]="Wednesday";
$day[4]="Thursday";
$day[5]="Friday";
$day[6]="Saturday";
$day[7]="Sunday";
ตัวอยาง Array มิติเดียว
$day[1]="Monday";
$day[2]="Tuesday";
$day[3]="Wednesday";
$day[4]="Thursday";
$day[5]="Friday";
$day[6]="Saturday";
$day[7]="Sunday";
echo "$day[1] <br>";
echo "$day[2] <br>";
echo "$day[3] <br>";

ใหแสดงผลของตัวแปร $day[1] และ $day[2] และ $day[3] โดยเวนบรรทัด
ผลลัพธ ที่ได
Monday
Tuesday
Wednesday

แบบหลายมิติ เชน
$a[0][0]=5;
$a[0][1]=3

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

25

ตัวอยาง Array หลายมิติ
<?
$a = array(
"toyota" => array(
"color" => "red",
"type" => "colora"
),
"nissan" => array(
"color" => "orange",
"type" => "sunny"
),
"masda" => array(
"color" => "yellow",
"type" => "323"
)
);
echo $a["toyota"]["type"]; # will output "colola"
?>

ใหแสดงผล output ของรถยนตยี่หอ toyota และรุนออกมา

ผลลัพธที่ได
colora

ถาเราเปลี่ยนจาก
echo $a["toyota"]["type"];
เปน
echo $a["toyota"]["color"];

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

26

ก็จะไดผลลัพท
red

5. Object วัตถุ
เชน
class foo {
function do_foo () {
echo "Doing foo.";
}
}
$bar = new foo;
$bar -> do_foo ();

ผลลัพธที่ได
Doing foo

Operators
PHP สามารถใช Operator รวมในการพัฒนาโปรแกรมได คุณสมบัติและการใชงาน Operator จะ
แตกตางกันตามชนิดของ Operator โดย PHP ไดจัดแบง Operator ไวดงนี้
ั
ชนิดของ Operator
• Arithmetic Operators
• String Operators
• Assignment Operators

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP
•
•
•
•

27

Bitwise Operators
Logical Operators
Comparison Operators
Operator Precedence

1. Arithmetic Operators การคํานวน
เกี่ยวกับการคํานวนใน PHP ไดกําหนดเครืองหมายตางๆแทนสัญลักษณการคํานวนดังนี้
่
ตัวอยาง
$a + $b
$a - $b
$a * $b
$a / $b
$a %$b

ชื่อ Operator
การบวก
การลบ
การคูณ
การหาร
Modulus

ความหมาย
ผลบวกระหวาง $a กับ $b
ผลลบของ $a ลบ $b
ผลคูณระหวาง $a กับ $b
ผลหารของ $a หาร $b
ผลหารของ $a หาร $b โดยปดเปนจํานวนเต็ม

2. String Operators
เกี่ยวกับตัวอักษรก็เชนกัน PHPไดกําหนดไวดังนี้
$a = "Hello ";
$b = $a . "World!"; // now $b = "Hello World!"

ผลลัพธ
string ไมสามารถนํามาคูณหรือคํานวนกันได แต PHP ไดแปลงสภาพให string
คํานวนไดในความหมายของการนําขอความมาเรียงตอกัน ("."คือการนําขอความมาตอกัน) จึง
ไดคําวา Hello World! เพราะการกระทําของ $a ."Word" จึงไดขอความตอกัน (มิไชการคูณ
ดวยตัวอักษร)

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

28

3. Assignment Operators
PHP สามารถกําหนดคา Assignment หรือเปลี่ยนแปลงคาใหกับตัวแปรได โดยใช
Assignment Operator ตามตัวอยางตอไปนี้
$a = 1
$a += 1;
$a --;
$a *=2;
$a /=2;

// มีคาเหมือนกับ $a=$a + 1; ผลลัพธ = 2
// มีคาเหมือนกับ $a=$a - 1; ผลลัพธ = 0
// มีคาเหมือนกับ $a=$a * 2; ผลลัพธ = 2
// มีคาเหมือนกับ $a=$a / 2; ผลลัพธ = 0.5

4. Bitwise Operatorst
การเปรียบเทียบและการคํานวนตัวเลขในระดับบิต
Operator
$a & $b
$a | $b
~$a
$a << $b
$a >> $b

Name
And
Or
Not
Shift left
Shift right

5. Logical Operators
การเปรียบเทียบเพื่อสรางเงื่อนไขสําหรับตัวแปร 2 ตัว
Operator
$a and $b
$a or $b
!$a
$a && $b
$a || $b

Name
And
Or
Not
And
Or

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

29

6. Comparison Operators
การเปรียบเทียบตัวเลข หรือตัวแปร 2 ตัว
Operator
$a == $b
$a != $b
$a < $b
$a > $b
$a <= $b
$a >= $b

Name
Equal
Not equal
Less than
Greater than
Less than or equal to
Greater than or equal to

การคํานวน
สําหรับการคํานวนแลว PHP ไดเตรียม Operator ที่ใชงานเกี่ยวกับการคํานวนมาใหแลว คือ Arithmetic
Operators ดังไดกลาวไปแลว ทีนี้เราจะมาทดสอบการเขียนโปรแกรม PHP สําหรับการคํานวนกัน อันแรกคือ
การบวก
การบวก
ตัวอยางการบวก
<HTML>
<HEAD><TITLE>ตัวอยางการคํานวน</TITLE></HEAD>
<BODY>
<?
$a=30;
$b=10;
$c=$a + $b;
echo "<H1>$c</H1>";
?>
</BODY>
</HTML>

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

30

ผลลัพธที่ได
30
การลบ
ตัวอยางการลบ
<HTML>
<HEAD><TITLE>ตัวอยางการคํานวน</TITLE></HEAD>
<BODY>
<?
$a=30;
$b=10;
$c=$a - $b;
echo "<H1>$c</H1>";
?>
</BODY>
</HTML>

ผลลัพธที่ได
20
การคูณ
ตัวอยางการคูณ
<HTML>
<HEAD><TITLE>ตัวอยางการคํานวน</TITLE></HEAD>
<BODY>
<?
$a=30;
$b=10;
$c=$a * $b;
echo "<H1>$c</H1>";
?>
</BODY>
</HTML>

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

31

ผลลัพธที่ได
300
การหาร
ตัวอยางการหาร
<HTML>
<HEAD><TITLE>ตัวอยางการคํานวน</TITLE></HEAD>
<BODY>
<?
$a=30;
$b=10;
$c=$a / $b;
echo "<H1>$c</H1>";
?>
</BODY>

ผลลัพธที่ได
3

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

32

การคํานวนโดยใชเครื่องหมายวงเล็บ
ตัวอยาง
<HTML>
<HEAD><TITLE>ตัวอยางการคํานวน</TITLE></HEAD>
<BODY>
<?
$a=30;
$b=10;
$c=20;
$d=($a * $b)/$c;
echo "<H1>$d</H1>";
?>
</BODY>
</HTML>

ผลลัพธที่ได
15

ประโยคคําสั่งแบบมีเงื่อนไข
จากบทที่ผานมาเราไดศึกษาถึง Operator การใชงาน Operator ตัวแปรชนิดของตัวแปรตางๆ ตลอดจน
คําสั่งพื้นฐานการ Display หรือ Output Process ของ Program (echo หรือ print) มาในบทนี้เราจะนํา Control
Structures มาควบคุม Operator ตัวแปร และ คําสั่ง ใหเปนไปตามความตองการที่เราไดออกแบบโปรแกรมไว
สําหรับคนที่เคยเขียน Program ภาษาใดภาษาหนึ่งมาแลว จะสามารถเขาใจในบทเรียนนี้โดยงาย หลักการการ
ควบคุม Control Structures นั้น โดยทัวไปทุกภาษาจะเหมือนกัน หรือที่เราเรียกวา Logic แตจะแตกตางกันที่
่
รายละเอียดของคําสั่ง ดังนั้นถาจะศึกษาการเขียนโปรแกรมใหเขาใจงาย ขอใหอยาพยายามจําคําสั่ง แตขอใหจํา
โครงสรางคําสั่งจะดีกวา เมื่อเราขยับไปศึกษาการเขียนโปรแกรมอืนๆ ก็จะเขาใจไดโดยงาย
่

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

33

คําสั่ง Control Structures แรกที่เราจะศึกษากันก็คือ IF ดังตอไปนี้
IF
คําสั่ง if เปนคําสั่งสําหรับสรางเงื่อนไขการทํางานของโปรแกรมวา ถาเปนจริงก็จะใหทํางาน
งานหนึ่ง ถาเปนเท็จก็จะใหทางานอีกงานหนึ่ง ดังแผนภาพ
ํ

รูปแบบคําสัง
่
if ( เหตุการณ Operator เหตุการณ ){งานที่จะตองทํา}
ตัวอยางคําสัง
่
<?
$a=500
if ( $a == 500 ){print"<h1>ตัวแปรตัวนี้เทากับ 500</h1>";}
?>
ผลลัพธ
ตัวแปรตัวนี้เทากับ 500

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

34

IF ELSE
เปนคําสั่ง if เหมือนเดิม แตเพิ่มสถานการณวา ถามีเหตุการณเปนเท็จเกิดขึ้นจะใหทางานอะไร
ํ
ดังแผนภาพ

รูปแบบคําสัง
่
if ( เหตุการณ Operator เหตุการณ ){งานที่จะตองทํา} else {งานที่จะตองทํา}
ตัวอยางคําสัง
่
<?
$a=600
if ( $a == 500 ) {
print"<h1>ตัวแปรตัวนีเ้ ทากับ 500</h1>";
} else {
print"<h1>ตัวแปรตัวนีเ้ ทากับไมเทากับ500</h1>";
}
?>
ผลลัพธ
ตัวแปรตัวนี้ไมเทากับ 500
คําอธิบาย
กําหนดให $a มีคาเทากับ 600 คําสั่งสรางเงื่อนไขวา ถา $a เทา 500 ใหพิมพคําวา "ตัวแปรตัวนี้
เทากับ 500 ขนาดตัวอักษรเทากับ H1"
การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

35

ถาไมเทากับ 500 ใหพิมพคําวา "ตัวแปรตัวนี้ไมเทากับ 500 ขนาดตัวอักษรเทากับ H1"
ELSE IF
คําสั่ง elseif เปนคําสั่งสําหรับสรางเงื่อนไขการทํางานของโปรแกรมวา ถาเหตุการณแรกเปน
จริง ก็จะใหทํางานตามที่กําหนดไว แตถาไมเปนจริงใหเขาสูสถานการณที่ 2 ที่เตรียมไว ถาเปนจริงก็ให
ทํางานตามที่กาหนดแตถาไมเปนจริงก็ใหทางานตามที่กําหนดไวถัดไปใหดจากภาพจะเขาใจมากยิ่งขึ้น
ํ
ํ
ู

รูปแบบคําสัง
่
if ( เหตุการณ Operator เหตุการณ )
{ งานที่จะตองทํา }
else if ( เหตุการณ Operator เหตุการณ )
{งานที่จะตองทํา}
else {งานที่จะตองทํา}
ตัวอยางคําสัง
่
<?
$a = 20
$b = 30
if ($a > $b) { print "a is bigger than b"; }
elseif ($a == $b) { print "a is equal to b"; }
else { print "a is smaller than b";}
?>

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

36

ผลลัพธ
a is smaller than b
คําอธิบาย
กําหนดให $a มีคาเทากับ 20
กําหนดให $b มีคาเทากับ 30
คําสั่งสรางเงื่อนไขวา ถา $a มากกวา $b ใหพิมพคําวา "a is bigger than b"
แตถาไมพบวา $a มากกวา $b ก็จะเขาสูสถานการณถัดไป
ถา $a เทากับ $b ใหพิมพวา "a is equal to b"
แตถา $a ไมเทา $b ใหพิมพวา "a is smaller than b"

่
ประโยคคําสังแบบวนรอบ
WHILE
คําสั่ง while เปนคําสั่งสรางเงื่อนไขใหทํางานวนรอบซ่ําๆกัน จนกวาตัวแปรที่กําหนดจะมีคา
ครบตามเงื่อนไข while จะนําเอาเรื่องของการกําหนดคาใหกับตัวแปรหรือ Assignment Operators เขา
มาเกี่ยวของดวย ถายังจํากันได การ Assignment คาใหกบ Operators ก็คือการสรางเงื่อนไขและ
ั
กําหนดคาใหกับตัวแปรเปนคาตางๆ จนครบที่กําหนด ถาจะพูดใหเห็นชัดลองนึกถึงการนับเลข หรือ
การใหคะแนน ถาถูกตอง จะมีคาเทากับ 1 และเพิ่มคาให 1 คะแนน

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

37

ตัวอยางคําสัง
่
<?
$i = 1;
while ($i <= 10) {
print $i++;
}
?>
ผลลัพธ
12345678910
คําอธิบาย
กําหนดให $a มีคาเทากับ 1
จากนั้นสรางเงือนไขวาให $a มีคานอยกวาเทากับ10 ลงมา
่
และใหพิมพคา $a คือ 1 – 10

FOR
คําสั่ง for เปนคําสั่งสรางเงื่อนไขใหทํางานวนรอบซ่ําๆกัน จนกวาตัวแปรที่กําหนดจะมีคา
ครบตามเงื่อนไข เชนเดียวกับ while โดยจะนําเอาเรื่องของการกําหนดคาใหกับตัวแปรหรือ Assignment
Operators เขามาเกี่ยวของดวย ถายังจํากันได การ Assignment คาใหกบ Operators ก็คือการสราง
ั
เงื่อนไขและกําหนดคาใหกบตัวแปรเปนคาตางๆ จนครบที่กําหนด
ั

รูปแบบคําสัง
่
for ( สถานการณ1 ; สถานการณ 2 ; สถานการณ 3; ){ งานที่จะตองทํา}

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

38

ตัวอยางคําสัง
่
<?
for ($i = 1; $i <= 6; $i++)
{
print "<h$i>Hi hello</h$i><br>";
}
?>
ผลลัพธ
Hi hello

Hi hello

Hi hello

Hi hello

Hi hello

Hi hello
คําอธิบาย
กําหนดให $i มีคาเทากับ 1
จากนั้นสรางเงือนไขวาให $a มีคานอยกวาเทากับ 6 ลงมา
่
และพิมพเพิ่มคา $i ที 1 ตั้งแต 6 จนถึง 1
ใหพิมพคําวา Hi hello ขนาดตัวอักษร ตั้งแต 6 จนถึง 1 โดยเวนบรรทัด

การจัดการเกี่ยวกับวัน และเวลา
ฟงกชนเกี่ยวกับวัน date()
ั
ซึ่งใชสําหรับแสดงคาวันของเซิรฟเวอรตามที่ตั้งไว และแสดงตามรูปแบบที่กําหนด โดยคาที่
จะผานใหกับฟงกชนนี้ มี 2 คา ตามรูปแบบที่เรียกใชดังนี้
ั
date (format,[timestamp]);

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

39

format เปนขอมูลชนิดขอความ หมายถึงรูปแบบการแสดงผลที่ตองการ
timestamp เปนขอมูลชนิดวันและเวลา ซึ่งจะระบุหรือไมก็ได
คาผลลัพธที่คืนออกมาจากฟงกชันนี้ จึงเปนขอความแสดงวัน ตามรูปแบบที่กําหนดของ format
ตัวอยางเชน
date (d m Y);
จะไดผลลัพธเปน 25 10 2006
รูปแบบการแสดงผลวัน
คาที่กําหนด
d
j
D
l
F
M
m
w
y
Y
z

ผลลัพท
วันที่แสดงเปนตัวเลข 2 หลัก
วันที่แสดงคาโดยไมตองมี 0 นําหนา
วันในสัปดาห แสดงตัวยอ 3 ตัวอักษร
วันสัปดาหแสดงคาครบตามชื่อ
เดือนแสดงครบตามชื่อ
เดือนแสดงตัวยอ 3 ตัวอักษร
เดือนแสดงเปนตัวเลข
วันในสัปดาหโดยแสดงเปนตัวเลข
ป ค.ศ. แสดงเปนตัวเลข 2 หลัก
ป ค.ศ. แสดงเปนตัวเลข 4 หลัก
คาวันในรอบป มีคา 1 - 365

ฟงกชันเกี่ยวกับเวลา strftime()
strftime("format");

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

40

เชน
strftime("%H:%M:%S");
จะไดผลลัพธเปน 15:24:24
รูปแบบการแสดงผลเวลา
คาที่กําหนด
%H
%I
%M
%S

ผลลัพท
แสดงชั่วโมงแบบ 24 ชั่วโมง มีคาตั้งแต 00 - 23
แสดงชั่วโมงแบบ 12 ชั่วโมง มีคาตั้งแต 01 - 12
แสดงนาที
แสดงวินาที

การสรางสวนเชื่อมโยงฐานขอมูล MySQL
MySQL เปนระบบจัดการฐานขอมูลที่ประกอบดวยระบบจัดการฐานขอมูล ซึ่งเปนโปรแกรมขนาดเล็ก
แตมีความสามารถสูง สําหรับการติดตอฐานขอมูล MySQL ดวย PHP นั้นมีฟงกชนในการติดตอดังนี้
ั
mysql_connect ([hostname(port)[:/path to socket]],[username],[password]);

โดยที่ hostname หมายถึง ชื่อของ host ที่ MySQL กําลังทํางาน อาจหมายถึงชือเครื่อง หรือหมายเลข
่
IP address
username หมายถึง ชื่อผูใชที่กําหนดไวในการติดตอกับฐานขอมูล MySQL
password หมายถึง รหัสผานที่ใชรวมกับ username
หลังจากที่ผูใชติดตอกับฐานขอมูล และทํางานเรียบรอยแลว ตองปดการติดตอกับฐานขอมูลดวยทุกครั้ง
โดยใชคําสั่ง mysql_close() เพื่อลดการ overhead

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

41

การเรียกใชฐานขอมูล MySQL
คําสั่งใน MySQL ที่ใชเรียกฐานขอมูลมาใชงานดังนี้
Mysql_select_db(“ชื่อฐานขอมูล”);

การจัดการกับขอมูลในฐานขอมูล
การใชคิวรี่ฐานขอมูล เชน เพิ่ม ลบ และแกไข ทําไดโดยเรียกใชฟงกชัน mysql_query() มีรูปแบบดังนี้
mysql_query(query,[database_connect]);

โดยที่ query หมายถึง คิวรี่ที่เรียกใชฐานขอมูล
database_connect หมายถึง ตัวแปรที่ใชเชือมตอกับฐานขอมูล จะกําหนดหรือไมก็ได
่
ตัวอยาง
$query = “select * from book where id = 5”;
$result = mysql_query($query);

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่
การใชงานฐานขอมูล MySQL

4

ทําความรูจักกับฐานขอมูล
ฐานขอมูล คือ กลุมของขอมูลที่มีความสัมพันธกัน โดยอาจถูกจัดเก็บอยูในแฟมเดียวกัน หรือหลาย
แฟมแตจะตองมีการเชื่อมโยงความสัมพันธถึงกัน และสามารถอธิบายความสัมพันธเหลานั้นได ขอมูลที่ถูก
จัดเก็บรวมกันเปนฐานขอมูลจะเปนขอมูลที่ไมมีความซ้ําซอน ซึ่งตองผานกระบวนการตาง ๆ ที่ใชในการ
จัดการกับขอมูลกอนที่จะนํามารวมกันเปนฐานขอมูล เชน การควบคุมความถูกตองใหกับขอมูล (Data
Integrity) การจัดการกับขอมูล ( Data Manipulate ) และการแกไขปญหาความซ้ําซอนของขอมูลดวยการทํา
Normalization เปนตน นอกจากนั้นระบบจัดการฐานขอมูลโดยทั่วไปจะสามารถจํากัดสิทธิ์การใชงานของ
ผูใชได ( Data Security ) ทําใหนยมนําฐานขอมูลมาใชงานกันอยางแพรหลายในปจจุบัน โดยสามารถสรุป
ิ
ประโยชน และความสําคัญของการใชงานฐานขอมูลไดดังนี้
• ลดความซ้ําซอนของขอมูล ( Data Redundancy ) คือ บางครั้งการจัดเก็บขอมูลในรูปแบบของ
แฟมขอมูลอาจจะมีขอมูลชุดเดียวกันอยูใน 2 แฟมขอมูลหรือมากกวา เชน ขอมูลของพนักงาน

ขายที่ชื่อ “ เขมรินทร” ถูกจัดเก็บอยูในแฟมขอมูลพนักงาน ( EMPLOYEE ) ของฝายพนักงาน

และแฟมขอมูลพนักงนขาย ( SALESMAN ) ของฝายการตลาดทั้ง ๆ ที่เปนขอมูลของคนคน
เดียวกัน เนื่องจากพนักงานขายก็ถือวาเปนพนักงานคนหนึ่งของบริษัท การจัดเก็บในลักษณะ
ดังกลาวจะทําใหสิ้นเปลืองเนื้อที่ ถานําระบบฐานขอมูลมาใชก็จะสามารถแกปญหาความซ้ําซอนนี้
ได
• แกปญหาขอมูลไมสอดคลองกัน ( Data Inconsistency ) ปญหานี้เกิดจากความซ้ําซอนของขอมูล
คือ การเก็บขอมูลพนักงานไว 2 แฟมขอมูลหรือมากกวา ถาตองมีการเปลี่ยนแปลงขอมูล เชน
เปลี่ยนชื่อของพนักงาน แกไขอัตราเงินเดือน หรือเปลี่ยนแปลงเบอรโทรศัพท เปนตน การ
เปลี่ยนแปลงเหลานี้เกิดขึนแลวจะกระทบกับทุก ๆ แฟมที่มีขอมูลอยู ซึ่งอาจทําใหเกิดความ
้
ผิดพลาดขึ้นได และความผิดพลาดนี้เองจะสงผลใหขอมูลที่ไดไมตรงกัน เชน เปลี่ยนแปลงขอมูล
จากแฟมขอมูลพนักงาน (EMPLOYEE) แตลืมเปลี่ยนแปลงขอมูลจากแฟมพนักงานขาย
(SALESMAN ) เปนตน

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

43

• การใชขอมูลรวมกัน ( Data Sharing ) แตละหนวยงานในองคกรสามารถใชขอมูลรวมกันได คือ
ถามีการเก็บขอมูลรวมกันเปนระบบฐานขอมูล จะทําใหทุกหนวยงานสามารถใชขอมูลเดียวกัน
ทั้งหมด แตถาขอมูลไมไดอยูในรูปแบบของฐานขอมูลแลว การใชขอมูลของหนวยงานตาง ๆ จะ

แยกออกจากกัน
• สามารถกําหนดการรักษาความปลอดภัยของขอมูล ( Data Security ) ไดเพราะระบบฐานขอมูลมี
ตัวชวยในการจัดการกับขอมูลที่เรียกวา “ระบบจัดการฐานขอมูล” หรือ “DBMS” ( Data Base
Management System ) ซึ่งสามารถตรวจสอบคําสั่งในการเขาใชงานขอมูล และตรวจสอบสิทธิ์ใน
การเขาใชฐานขอมูลได
• สามารถรักษาความถูกตองของขอมูล ( Data Validity ) ไดโดยระบุกฎเกณฑในการควบคุมความ
ผิดพลาดที่อาจเกิดขึ้นไดจากการปอนขอมูลผิด
• ทําใหขอมูลเปนอิสระจากโปรแกรมที่ใชงานขอมูลนั้น ( Data Independence ) สงผลให
ผูพัฒนาโปรแกรมสามารถแกไขโครงสรางของขอมูล โดยไมกระทบตอโปรแกรมที่เรียกใชงาน
ขอมูลนั้น เชน ในกรณีที่ตองการเปลี่ยนขนาดของ Field ถาเปนระบบแฟมขอมูลจะตอง

เปลี่ยนแปลงตัวโปรแกรมทีอางถึง Field นั้นทั้งหมด ซึ่งตางจากการใชงานระบบฐานขอมูล ที่
่
การอางถึงขอมูลจะไมขึ้นอยูกับโครงสรางทางกายภาพของขอมูล จึงไมสงผลใหตองแกไข
โปรแกรมที่เรียกใชขอมูลนันมากนัก
่
เมื่อทราบถึงความหมายและประโยชนของการนําฐานขอมูลมาใชแลว ในหัวขอตอไปจะศึกษาถึง
โครงสรางตาง ๆ ของฐานขอมูล ซึ่งจําเปนตองใชแบบจําลองขอมูลในการนําเสนอ แบบจําลองของขอมูลที่จะ
ใชนําเสนอรายละเอียดและโครงสราง

คําศัพทพื้นฐาน
การประมวลผลในระบบแฟมขอมูล ไดแบงหนวยของขอมูลไวหลายระดับ ดังนี้
บิท (Bit) หมายถึง หนวยของขอมูลที่มีขนาดเล็กที่สุด
ไบท (Byte) หมายถึง หนวยของขอมูลที่เกิดจากการนํา บิท มารวมกันเปนตัวอักษร
ฟลด (Field) หมายถึง หนวยของขอมูลที่ประกอบดวยหลายๆ ตัวอักษร เพื่อแทนความหมายของสิ่ง
หนึ่ง เชน รหัสพนักงาน ชื่อ เปนตน

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

44

เรคคอรด (Record) หมายถึง หนวยของขอมูลที่เกิดจากการนําเอา ฟลดหลายๆ ฟลด มารวมกัน
เพื่อแสดงรายละเอียด ขอมูลในเรื่องใดเรื่องหนึ่ง เชน เรคคอรดหนึ่งๆ ของพนักงานประกอบดวย ฟลดตางๆ
เชน รหัสพนักงาน ชื่อแผนก เงินเดือน เปนตน
แฟมขอมูล (File) หมายถึง หนวยของขอมูลที่เกิดจากการนําเรคคอรดหลายๆ เรคคอรด มารวมกัน
สําหรับในระบบฐานขอมูล คําศัพทพื้นฐานที่เกี่ยวของมีดังตอไปนี้ คือ
เอนทิตี้ (Entity) เอนทิตี้ หมายถึง ชื่อของสิ่งใดสิ่งหนึ่ง อาจเกี่ยวกับ คน สถานที่ สิ่งของ การ
กระทํา ซึ่งตองการจัดเก็บขอมูลไว เชน เอนทิตี้พนักงาน สินคา ลูกคา การสั่งซื้อ เปนตน
แอททริบิวต (Attribute)
แอททริบิวต หมายถึง รายละเอียดของขอมูลในเอนทิตี้หนึ่งๆ เชน เอนทิตี้พนักงาน ประกอบดวย
แอททริบิวตรหัสพนักงาน ชื่อ เงินเดือน หรือเอนทิตี้ลูกคาประกอบดวยแอททริบวตรหัสลูกคา ชื่อ ที่อยู
ิ
หมายเลขโทรศัพท หรือเอนทิตี้แผนก ประกอบดวย แอททริบิวตรหัสแผนก ชื่อ เปนตน

รูปแบบของฐานขอมูล
รูปแบบของฐานขอมูลแบงออกเปน 3 ประเภท คือ
1. ฐานขอมูลเชิงสัมพันธ (Relational Database)
เปนการจัดเก็บขอมูลของเอนทิตี้ในรูปแบบตาราง ที่มีลักษณะเปนสองมิติ คือ เปนแถว (Row) และ
เปนคอลัมน (Column)
ในการเชื่อมโยงขอมูลระหวางตาราง จะเชื่อมโยงโดยใชแอททริบิวตที่มีอยูในทั้งสองตารางเปนตัว
เชื่อมโยงขอมูลกัน ตัวอยางเชน ตารางพนักงานและตารางแผนก ถาตองการทราบวาพนักงานรหัส 1001 อยู
สังกัดแผนกอะไรจะตองนํารหัสแผนกในตารางพนักงานไปตรวจสอบกับรหัสแผนก (DEPNO) ซึ่งเปนคีย
(Key) ในตารางแผนกเพื่อดึงขอมูลชื่อแผนกออกมา
ฐานขอมูลเชิงสัมพันธนี้จะเปนรูปแบบที่นิยมใชในปจจุบัน และเปนฐานขอมูลที่จะกลาวในรายละเอียด
ตอไป

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

45

EMPLOYEE (พนักงาน)
EMPNUM
1001
3001
4001
1002
3002

EMPNAME
SIRIWAN
ARLEE
WICHAI
JINTANA
MITREE

HIREDATE
06/13/93
08/15/93
12/26/93
10/31/93
12/05/93

SALARY
3000
17000
33000
30000
29000

POSITION
CLERK
SALESMAN
MANAGER
CONTROLLER
MANAGER

DEPNO
10
30
40
10
30

MGRNO
1002
3004
2002
1003
2002

DEP (แผนก)
DEPNO
10
20
30

DEPNAME
ACCOUNTING
ADMINISTRATION
MARKETING

LOCATION
SILOM
SUKUMVIT
RATCHADA

2. ฐานขอมูลแบบลําดับขัน (Hierarchical Database)
้
โครงสรางของฐานขอมูลแบบลําดับขั้น เปนโครงสรางที่จัดเก็บขอมูลในลักษณะความสัมพันธแบบ
พอ - ลูก (Parent - Child Relationship Type : PCR Type) คําวาขอมูลที่กลาวในที่นี้ก็คือ เรคคอรด
(Record) นั่นเอง ซึ่งประกอบดวยคาของฟลด (Field Value) ของเอนทิตี้หนึ่งๆ
แผนก
ชื่อแผนก

รหัสแผนก

สถานที่

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

พนักงาน
ชื่อ

รหัส
เงินเดือน

46

โครงการ

รหัส
แผนก

เงินเดือน

ชื่อโครงการ รหัสโครงการ สถานที่

จากรูป เคารางของฐานขอมูลเชิงลําดับขั้น (Hierarchical Database Schema) ประกอบดวยประเภท
ของเรคคอรด (Record Type) และความสัมพันธ ดังนี้
1. ประกอบดวย เรคคอรด 3 ประเภท คือ แผนก (Department) พนักงาน (Employee) และ
โครงการ (Project)
2. ประกอบดวยความสัมพันธแบบ PCR 2 ประเภท คือ ความสัมพันธของขอมูลแผนกกับพนักงาน
และความสัมพันธของขอมูลแผนกกับโครงการ โดยทีมีแผนกเปน เรคคอรดประเภท พอ - แม (Parent
่
Record Type) และพนักงานกับโครงการเปนเรคคอรดประเภทลูก (Child Record Type) ความสัมพันธทั้ง
สองดังกลางขางตนเปนแบบ 1 : N ดังรูป
การตลาด

การบัญชี

พนักงาน

วิชัย วินย วิชิต สมบุญ
ั

สุรชัย สุรภี สุรเดช

ข. แผนก

วิจัย

โครงการ

สินคา ก สินคา ข สินคา ค

ก. แผนก

บริหาร

คอมพิวเตอร การปรับปรุงการบริหาร

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

47

คุณสมบัติของเคารางของฐานขอมูลเชิงลําดับขั้น มีดังนี้ คือ
1. หากเรคคอรดใดเปนราก (Root) ของเคารางแลว จะมีคุณสมบัติเปนเรคคอรดประเภทลูก (Child
Record Type) ไมได
2. ทุกเรคคอรดยกเวนราก (Root) สามารถมีความสัมพันธกับเรคคอรดประเภทพอแมไดหนึ่ง
ความสัมพันธ
3. ทุกเรคคอรด สามารถมีคุณสมบัติเปนเรดคอรดประเภทพอแมได
4. ถาเรดคอรดหนึ่งมีเรคคอรดลูกมากกวา 1 เรดคอรดแลวการลําดับความสัมพันธของเรดคอรดลูกจะ
ลําดับจากซายไปขวา
3. ฐานขอมูลแบบขายงาน (Network Database)
โครงสรางของขายงานประกอบดวยประเภทของเรคคอรด และกลุมของขอมูลของเรคคอรดนั้นๆ
เชนเดียวกับโครงสรางของฐานขอมูลเชิงสัมพันธ และเชิงลําดับขั้น
ความสัมพันธระหวางประเภทของเรคคอรดในฐานขอมูล เรียกวา Set Type ซึ่งสามารถแสดงใน
แผนภูมิ เรียกวา Bachman diagram อันมีประกอบดังนี้
1. ชื่อของ Set Type
2. ชื่อของประเภทของเรคคอรดหลัก (Owner Record Type)
3. ชื่อของเรคคอรดที่เปนสมาชิก (Member Record Type)

แผนก
ชื่อแผนก

...

นักศึกษา
ชื่อนักศึกษา

...

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

48

ตัวอยาง เชน จากรูป ประกอบดวย Set Type ที่ชื่อวา วิชาเอก (Major - Dept) โดยมีแผนก
(Department) เปนเรคคอรดหลัก (Ower Record Type) และมีนักศึกษาเปนเรคคอรดสมาชิก (Member
Record Type) โดยมีความสัมพันธแบบ 1 : N
ในฐานขอมูล จะมีกลุมขอมูลที่เกี่ยวของกับเรื่องวิชาเอก (Set Occurrence หรือ Set Instance) กลุม
ขอมูลนี้ประกอบดวย ขอมูลจากเรคคอรดหลัก 1 ขอมูล และขอมูลเรคคอรดที่เปนสมาชิก จากรูปดานลาง จะ
เห็นวาเรคคอรดหลักคือแผนก (Department) จะมีขอมูลของเรคคอรดที่เปนสมาชิกคือนักศึกษา (Student) ที่
เรียนวิชาเอกในแตละสาขา จากตัวอยางนีจะมีวิชาเอก (Major Dept) อยู 4 สาขา (Set Occurrences) โดยที่
้
แตละวิชาเอกจะตองมีชื่อแผนก (Owner Record) ซึ่งสามารถที่จะมีขอมูลของสมาชิกไดมากกวา 1 เรคคอรด
หรือไมมีเลยก็ได
แผนก
นักศึกษา

...

เศรษฐศาสตร

บัญชี

...

นาย ก

...

นางสาวโสภา

...

นาย ข

...

นางสาวสมศรี

...

นาย ค

...

นายสิทธิพร

...

นาย ง

...

นาย จ

...

แผนก
นักศึกษา

รัฐศาสตร

...

นายรักดี

...

นายชูชีพ

...

วนศาสตร

...

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

49

ความสัมพันธ (Relationship)
หัวใจสําคัญในการออกแบบฐานขอมูลที่มีโครงสรางเชิงสัมพันธหรือ Relational database ก็คือการ
ออกแบบเทเบิลเพื่อเก็บขอมูลกลุมตาง ๆ โดยจะตองสามารถกําหนดความสัมพันธระหวางกลุมขอมูลเหลานั้น
ได ดังนันจะตองวิเคราะหใหไดวาขอมูลเหลานั้นมีความสัมพันธกันอยางไร ซึ่งความสัมพันธระหวางเทเบิลมี
้
ทั้งหมด 3 ลักษณะคือ
ความสัมพันธแบบ 1 : 1 (One - to - One)
เปนความสัมพันธที่แถวหนึงแถวในเทเบิลใด ๆ สามารถจับคูกับแถวในอีกเทเบิลหนึงไดเพียงแถวเดียว
่
่
เทานั้น หรือเปนการจับคูกนตัวตอตัว ความสัมพันธลักษณะนีจะพบเห็นไดนอย เชน กรณีทจํานวนคอลัมนใน
ั
้
ี่
เทเบิลนั้นมีมากเกินไป จนทําใหเทเบิลมีขนาดใหญไมสะดวกในการประมวลผลและบํารุงรักษา จึงตองแยก
ขอมูลบางสวนที่สําคัญออกมาเก็บไวอีกเทเบิลหนึ่ง โดยเลือกคอลัมนที่มีคุณสมบัติเหมาะสมเปนตัวเชื่อม
ความสัมพันธระหวางเทเบิลทั้งสอง ในตัวอยางนี้จะใชรหัสพนักงานเปนตัวเชื่อมเนืองจากเปนคอลัมนรวม
่
(commonfield) ของทั้ง 2 เทเบิล ดังรูป

พนักงาน

1

รหัสพนักงาน
1001
1002
1003
1004

ชื่อ
Michael
Laura
Robert
Anne

นามสกุล
Suyama
Callahan
King
Dodsworth

ที่อยู
Coventry House, London
4725-11th Ave. N.E. Seattle
Edgeham Hollow, London
7 Houndstood Rd. London

โทรศัพท
(71) 555 - 7773
(71) 555 - 4848
(206) 555 -1189
(71) 555 - 4444

ขอมูลสวนตัว

1

รหัสพนักงาน
1001
1002

เงินเดือน
25,000
20,000

เลขที่บัตรประกันสังคม
324 -45-6400
245 -37-5600
ความสัมพันธแบบ 1 : 1

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

50

ความสัมพันธแบบ 1 : N (One - to - Many)
เปนความสัมพันธที่แถวหนึงแถวในเทเบิลใด ๆ สามารถจับคูกับแถวในอีกเทเบิลหนึงไดหลายแถว
่
่
ตัวอยางเชน ความสัมพันธระหวางเทเบิลลูกคา และเทเบิลการสั่งซื้อ ลูกคาหนึ่งคนจะมีใบสั่งซื้อสินคาไดหลาย
ใบ ในขณะทีใบสั่งซื้อแตละใบจะตองมาจากลูกคาเพียงคนเดียวเทานัน หรือตัวอยางของอาจารยที่ปรึกษาที่มี
่
้
นักศึกษาในความรับผิดชอบไดหลายคน แตนักศึกษาแตละคนจะมีอาจารยที่ปรึกษาไดเพียงคนเดียวเทานัน
้
ดังรูป
ลูกคา

1

รหัสลูกคา
1001
1002

ชื่อบริษัท
Let’s Stop N Shop
B’s Beverage

ที่อยู
87 Polk St. San Francisco
Fauntleroy Circus, London

การสั่งซื้อ

N

รหัสสั่งซื้อ
12010
12015

รหัสลูกคา
1002
1002

รหัสสินคา
BE - 203
ME - 010

ความสัมพันธแบบ 1 : N

ความสัมพันธแบบ M : N (Many - to - Many)
คือลักษณะที่แถวหลาย ๆ แถวในเทเบิลหนึง มีความสัมพันธกับอีกหลาย ๆ แถวในอีกเทเบิลหนึ่งพรอม
่
กัน เชน ความสัมพันธระหวางเทเบิลลูกคา และเทเบิลสินคา ลูกคาหนึ่งคนสามารถซื้อสินคาไดหลายชนิด
้
ในขณะที่สินคาแตละชนิดก็จะถูกซื้อโดยลูกคาหลาย ๆ คนไดดวย ถาเรานําเทเบิลทังสองนี้มาเชื่อมโยงกัน

โดยตรงจะเห็นวาทําไมได เนื่องจากไมมคอลัมนที่เปนคอลัมนรวมของทั้ง 2 เทเบิล การสรางความสัมพันธ
ี
แบบ M : N จึงตองใชเทเบิลอื่นมาชวยเปนสะพานในการเชื่อมโยงซึ่งในที่นี้จะใชเทเบิลการสั่งซื้อมาชวย ดัง
รูป

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

51

ลูกคา

1

รหัสลูกคา
1001
1002
1003

ชื่อบริษัท
Let’s Stop N Shop
B’s Beverage
Chop - suey Chinese

ที่อยู
87 Polk St. San Francisco
Fauntleroy Circus, London
Hauptstr. 29, Bern

การสั่งซื้อ
รหัสสั่งซื้อ

N

12010
12010
12016
12025

สินคา
รหัส
ลูกคา
1001
1003
1002
1003

รหัสสินคา
BE - 203
ME - 010
SE - 057
SE - 057

รหัสสั่งซื้อ

N

ME - 010
BE -115
1 SE - 057
BE - 203

ชื่อสินคา
Boston Crab Meat
Lpoh Collee
Konbu
Outback Lager

ปริมา
ณ
120
15
24
30

ความสัมพันธแบบ M : N
จากภาพจะเกิดความสัมพันธแบบ 1 : N สองความสัมพันธ ความสัมพันธแรกคือความสัมพันธ
ระหวางเทเบิลลูกคา และเทเบิลการสั่งซื้อ ความสัมพันธที่สองคือความสัมพันธระหวางเทเบิลสินคาและเทเบิล
การสั่งซื้อ คอลัมนรหัสลูกคาและคอลัมนรหัสสินคาจะถูกนํามาใชเปนคอลัมนรวมเพือสรางความสัมพันธ
่
ระหวางเทเบิลลูกคาและเทเบิลสินคา ใหเปนแบบ M : N จากตัวอยางในรูป ลูกคารหัส 1003 ซื้อสินคารหัส
ME - 010 และ SE - 057 ในขณะที่สินคา SE - 057 ก็ถูกซื้อโดยลูกคารหัส 1002 และ 1003

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

52

ประเภทของคีย
เพื่อเพิ่มประสิทธิภาพในการจัดการฐานขอมูล เชน การอางอิง การคนหา การแกไขขอมูลในแถวใด
ๆ หรือการกําหนดความสัมพันธระหวางเทเบิล จะตองกําหนดคียใหกับแตละเทเบิลกอน โดยเลือกใหคอลัมน
ใด ( อาจมีมากกวา 1 คอลัมน ) เปนคีย มิฉะนั้นจะไมสามารถนําเทเบิลมาเชื่อมโยงสัมพันธกันไดเลย
นอกจากนี้การกําหนดคียจะทําใหการอางอิงและประมวลผลขอมูลดวยคอมพิวเตอรสะดวกและรวดเร็วขึ้น
รวมทั้งประหยัดเนื้อทีในการเก็บขอมูลอีกดวย เชน กําหนดรหัสประจําตัวใหกับพนักงานทุกคนในเทเบิล
่
พนักงาน เมื่อพนักงานคนใดทํางานลวงเวลาก็จะนําเฉพาะรหัสพนักงานพรอมขอมูลการทํางานไปใสในเทเบิล
การทํางานลวงเวลา
คียที่ใชในระบบฐานขอมูลมีหลายประเภท ดังนี้
คียหลัก (Primary Key)
หมายถึง แอตทริบิวตหรือกลุมของแอตทริบิวตของเทเบิลหนึ่ง ที่มีขอมูลไมซ้ํากันและมีคาเสมอ (ไม
เปน NULL ) ทําใหสามารถระบุไดวาเปนขอมูลแถวใดในเทเบิลนั้น คียหลักจะใชประโยชนในการระบุ (
identify ) ขอมูลที่ตองการเขาถึง ไดแก ถาเปนขอมูลของนักศึกษา ( เทเบิลนักศึกษา ) ตัวคียหลักก็จะเปนรหัส
นักศึกษา เปนตน ขอดีของการกําหนดคียหลักอีกขอคือ จะชวยไมใหเกิดการผิดพลาดเนื่องจากปอนขอมูลที่

ซ้ํากันในคอลัมนที่ไมอนุญาตใหมีขอมูลซ้ํา ถาใสขอมูลซ้ําโปรแกรม DBMS จะแสดงขอความเตือนและไม
ทํางานตอจนกวาจะแกไขขอมูลใหถูกตอง
คียนอก (Foreign Key)
คียนอก เปนคียที่ใชเชื่อมเทเบิลที่เกี่ยวของเขาดวยกัน เชน ในเทเบิลลูกคาจะมีคอลัมนรหัสลูกคาเปนคียหลักเราจะให
รหัสลูกคาในเทเบิลลูกคาเชื่อมโยงกับรหัสลูกคาในเทเบิลการสั่งซื้อ เพื่อที่จะไดทราบชื่อและที่อยูของลูกคาที่สั่งซื้อสินคานั้น
ในกรณีนี้คอลัมนรหัสลูกคาในเทเบิลการสั่งซื้อจะมีคุณสมบัติเปนคียนอก ( ในขณะที่คอลัมนรหัสลูกคาเมื่ออยูในเทเบิลลูกคา
จะมีคุณสมบัติเปนคียหลัก )

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

53

กฎที่ใชจัดเก็บขอมูลในฐานขอมูลเชิงสัมพันธ
กฎขอที่ 1 ทุกเทเบิลตองมีหนึ่งคียหลัก (Primary key)

กฎขอที่ 2 ในการสรางความสัมพันธระหวางเทเบิล 2 เทเบิลในฐานขอมูลเชิงสัมพันธ สามารถกําหนด
ดวยคียนอก ( Foreign Key ) ซึ่งอาจมีคาเปน NULL ( ไมมีคาขอมูล ) หรือมีคาตรงกับขอมูลของคียหลักในอีก
เทเบิลหนึ่งที่มความสัมพันธกันดวย
ี

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

54

รูจักกับฐานขอมูล MySQL
นับจากทศวรรษที่ 1980 เปนตนมา ภาษาโปรแกรมมิ่งไดรับการพัฒนาเปนอยางมาก โดยพัฒนาการ
ของภาษาโปรแกรมมิ่ ง ในช ว งนี้ มี วั ต ถุ ป ระสงค เ พื่ อ สร า งภาษาที่ ใ ช ง านร ว มกั น กั บ ระบบสารสนเทศและ
ฐานขอมูลได ภาษา SQL หรือ Structue Query Language ถูกพัฒนาขึ้น และเริ่มมีบทบาทกวางขวาง
เนื่องจาก SQL เปนกลไกสําคัญ ซึ่งควบคุมการทํางานของระบบจัดการฐานขอมูลในปจจุบัน
MySQL เปนโปรแกรมจัดการฐานขอมูลที่มีลักษณะเปนฟรีแวร ถูกพัฒนาขึ้นโดยบริษัท MySQL AB
ในประเทศสวีเดน บริษัท MySQL AB กอตั้งโดย David Axmark, Allan Larsson และ Michael Monty
Widenius โดยมีสมาชิกเปนนักพัฒนาจาก 12 ประเทศทั่วโลก ซึ่งติดตอสื่อสารกันผานระบบเครือขาย และ
อินเตอรเน็ต
MySQL เติบโต และพัฒนาอยางรวดเร็ว โดยผูใชกลุมตางๆ ไดพยายามพัฒนาฟรีแวรชนิดนี้เพื่อใช
งานภายในกลุม และเผยแพรสูผูใชอื่นๆ ตอไป เชนเดียวกับรูปแบบการพัฒนาของระบบปฏิบัติการ Linux
การพัฒนาที่รวดเร็วนี้ทําใหฟรีแวรเหลานี้แตกแขนงสายพันธุจนยากที่จะหาเคาโครงเดิมได แตนั่นก็ทําใหเกิด
ความหลากหลาย และรองรับความตองการของผูใชกลุมตางๆ ไดเปนอยางดี
หากมองยอนกลับไปถึงจุดประสงคเริ่มตนของบริษัท MySQL AB ผูเริ่มพัฒนาซอฟตแวร MySQL
จะเห็นวาในปจจุบันวัตถุประสงคเริ่มตนนั้นสําเร็จลุลวงไปมากทีเดียว โดยวัตถุประสงคของผูผลิตซอฟตแวรมี
ดังนี้
• ตองการสรางสรรค และพัฒนาซอฟตแวรสําหรับการจัดการฐานขอมูลที่มีขนาดเล็ก แตมี
ความสามารถสูง
• เปนซอฟตแวรที่มีผูใชทุกมุมโลก
• ใชงานงาย
• มีการปรับปรุงอยางตอเนื่อง และรวดเร็ว
• ปราศจากขอผิดพลาดจากตัวโปรแกรม
• ไมมีคาใชจายในการจัดหา (เปนฟรีแวร)
ความสําคัญของ MySQL
MySQL มีความสามารถที่ไมยิ่งหยอนไปกวาระบบจัดการฐานขอมูลชนิดอื่น ระบบจัดการฐานขอมูล
ของ MySQL ประกอบดวย ระบบจัดการฐานขอมูลเชิงเดี่ยว และระบบจัดการฐานขอมูลเชิงสัมพันธ ยิ่งไป
กวานั้นภาษา SQL ซึ่งเปนจุดกําเนิดของ MySQL เปนหัวใจสําคัญของระบบจัดการฐานขอมูลในปจจุบัน ไม
วาจะเปน Microsoft Access, Oracles หรือ Lotus Note

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

55

ฐานขอมูล MySQL มีจุดเดนที่ความเร็วในการจัดการ มีความนาเชื่อถือและใชงานงาย ในปจจุบัน
ตลาดการค า ซอฟต แ วร มี ก ารแข ง ขั น สู ง ผลิ ต ภั ณ ฑ ซ อฟต แ วร สํ า หรั บ จั ด การฐานข อ มู ล มี เ ป น จํ า นวนมาก
ทางเลือกของผูบริโภคจึงมีมากตามไปดวย ความสามารถ และประสิทธิภาพการทํางานของระบบจัดการ
ฐานขอมูลจึงเปนปจจัยสําคัญอยางหนึ่งในการตัดสินใจของผูใช
ระบบจัดการฐานขอมูล MySQL เปนระบบเครือขายแบบ Client / Server Side ซึ่งประกอบดวย
Server และ Client หลายเครื่อง โดย Server มีหนาที่สนับสนุนการจัดเก็บขอมูล บริหารระบบหองสมุด
ขอมูล และ API ซึ่งทําใหผูใชไดฐานขอมูลที่จัดการไดงาย และสามารถเชื่อมโยงฐานขอมูลเขากับโปรแกรม
ประยุกตอื่นไดงาย และรวดเร็ว
คุณลักษณะเดนของระบบจัดการฐานขอมูล MySQL
• MySQL เปนระบบจัดการฐานขอมูล
• MySQL เปนระบบจัดการฐานขอมูลเชิงสัมพันธ
• MySQL เปนซอฟตแวรแบบฟรีแวร และเปน Open Source
การใชงานฐานขอมูล MySQL มีคําสั่งในการใชงานที่แตกตางจากภาษาอื่นๆ แตยังยึดหลักของภาษา
SQL (Structure Query Language) ซึ่งจะอธิบายการใชงานคําสั่งตางๆ ของฐานขอมูล MySQL ในหัวขอ
ตอไป

คําสั่งที่ใชทํางานกับฐานขอมูล MySQL
ขั้นตอนการสราง การใชงาน และการปรับปรุงฐานขอมูล MySQL เปนเรื่องที่จะตองศึกษา เนื้อหาใน
สวนนี้จะกลาวถึงวิธีการใชงานระบบจัดการฐานขอมูล MySQL ซึ่งประกอบดวยรายละเอียดเกียวกับการสราง
่
และใชงานฐานขอมูล MySQL ดังนี้
การเรียกใช MySQL
มีวิธีดังนี้
1. เขาสูจอภาพของวินโดว โดยดับเบิลคลิกที่ไอคอน My Computer
2. ดับเบิลคลิกที่ไดรฟ C: จากนั้นดับเบิลคลิกเลือกโฟลเดอร Appserv
3. จากนั้นดับเบิลคลิกที่โฟลเดอร mysql และ bin ตามลําดับ (C:AppServmysqlbin)
4. ดับเบิ้ลคลิกที่ไอคอน Winmysqladmin จะปรากฏรูปสัญญาณไฟที่บริเวณทาสบาร
(Taskbar)
5. เมื่อตองการใชฐานขอมูล MySQL ใหดบเบิลคลิกที่ไอคอน mysql จะปรากฏจอภาพดังรูป
ั
การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

56

รูปแสดงขั้นตอนการเรียกใชฐานขอมูล MySQL
คําแนะนํา การเขียนแตละคําสั่งใน MySQL จะตองจบดวยเครื่องหมาย semicolon (;) หากไมใสจะ
ทําใหเกิดปญหากับคําสั่งตอไป เพราะ MySQL จะอานเปนคําสั่งเดียวกัน
การสรางฐานขอมูลใน MySQL
ฐานขอมูลของ MySQL เปน Database Server สามารถรองรับฐานขอมูลที่มีความแตกตาง
กันได โดยสามารถสรางฐานขอมูลไดที่ Command Prompt ของโปรแกรม MySQL โดยพิมพโคด
คําสั่งดังนี้
create database dbname;
โดยที่ dbname หมายถึง

ชื่อของฐานขอมูล

ตัวอยาง การสรางฐานขอมูลเพื่อใชงาน
พิมพโคดคําสั่ง create database mydata ; โดยที่ mydata เปนชื่อของฐานขอมูล ดังรูป

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

57

เมื่อสรางฐานขอมูลเสร็จแลว จอภาพของ MySQL จะแสดงขอความวา OK หมายความวา
สรางไดสําเร็จ
การสรางตารางใน MySQL
กอนการสรางตารางตองมีการเรียกใชงานฐานขอมูลกอน ซึ่งทําไดดวยคําสั่ง use รูปแบบ

คําสั่ง คือ
use dbname;
โดยที่ dbname หมายถึง ชื่อของฐานขอมูล
ตัวอยาง การใชคําสั่ง use เพื่อเรียกการใชงานฐานขอมูล
ชื่อของฐานขอมูลคือ mydata เรียกใชฐานขอมูลนี้ได ดังรูป

เมื่อมีการเรียกใชงานฐานขอมูลแลว ตอมาจะสรางตารางลงในฐานขอมูล ซึ่งมีรูปแบบคําสั่ง ดังนี้
CREATE TABLE tablename (column1 type, column2 type...)
โดยที่ tablename
column
type

หมายถึงชื่อตาราง
หมายถึงคอลัมนที่ตองการสราง
หมายถึงชนิดของคอลัมน

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

58

ตัวอยาง การใชคําสั่ง CREATE TABLE สรางตารางลงในฐานขอมูล ทําไดดังรูป

จากรูปเปนการใชคําสั่ง CREATE เพื่อสรางตารางใหมชอ EMPLOYEE ประกอบดวย
ื่
8 คอลัมน คือ EmplD. Firstname, Lastname, Address, Workphone, Homephone, Password และ
Email กําหนดใหคอลัมน EmpID เปน Primary Key จึงกําหนดเปน Not Null คือ เปนฟลดที่หาม
มีคาวาง และกําหนดใหเพิ่มแบบอัตโนมัติ (auto_increment) หากสรางตารางไดสําเร็จจะปรากฏ
ขอความ “Query OK. 0 row affected (0.00 sec)”
คําอธิบายคียเวิรด (Keyword)
• Not Null
• Auto_increment

• Primary key
• Unsigned

หมายถึง คาของขอมูลในคอลัมนน้หามเปนคาวาง
ี
หมายถึง เปนคําสั่งพิเศษใน MySQL ใชกบคอลัมนที่เปนเลข
ั
จํานวนเต็ม (Integer) เมื่อเพิ่มแถวในตารางคางนี้จะ
เพิ่มขึ้นครั้งละ 1 โดยอัตโนมัติ ซึ่งคาเหลานี้จะไมซ้ํา
กัน ขอมูลในคอลัมนที่นี้ Auto_increment จะตอง
กําหนดเปน Index หรือ Primary key ซึ่งแสดงลําดับ
สําหรับอางอิงคาขอมูลดวยเสมอ
หมายถึง เปนการกําหนดคาของคอลัมนใหเปน Primary Key
หมายถึง เปนการกําหนดคาชนิดเลขจํานวนเต็มใหเปนคาที่ไมมี
เครื่องหมาย

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

59

การแสดงรายละเอียดในฐานขอมูล
การแสดงขอมูลของตารางในฐานขอมูลทําไดโดยใชคําสั่ง SHOW และ DESCRIBE ซึ่งแต
ละคําสั่งมีรายละเอียด ดังนี้
Variation
คําอธิบาย
SHOW DATABASES [LIKE database] แสดงรายการของฐานขอมูลทั้งหมดใน
ระบบ
SHOW TABLES [FROM database]
แสดงตารางทังหมดจากฐานขอมูลที่ระบุ
้
[LIKE table]
หรือฐานขอมูลปจจุบันที่เรียกใชอยู จึงไม
จําเปนตองใชคําสั่ง FROM database
SHOW COLUMNS FROM table
แสดงรายการของคอลัมนในตาราง และ
[FROM database] [LIKE column]
ฐานขอมูลที่ระบุ หากเปนฐานขอมูล
ปจจุบันที่กาลังใชอยูไมจําเปนตองใชคําสั่ง
ํ
FROM database
SHOW INDEX FROM table
แสดงรายละเอียดของดัชนี (index) ใน
[FROM database]
ตาราง และฐานขอมูลที่ระบุ หากเปน
ฐานขอมูลปจจุบันที่กําลังใชอยูไม
จําเปนตองใชคําสั่ง FROM
SHOW STATUS [LIKE status_item]
แสดงสถานะของระบบ
SHOW VARIABLES [LIKE
แสดงชื่อ และคาของระบบ MySQL
variable_name]
SHOW [FULL] PROCESSLIST
แสดงรายการทํางานกับฐานขอมูลวามีผูใช
คนใดใชฐานขอมูลใดบาง
SHOW TABLE STATUS
แสดงสถานะของตารางที่อยูในฐานขอมูล
[FROM database] [LIKE database]
ระบุ

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

60

ตัวอยาง การใชคําสั่ง Show databases เพื่อแสดงชื่อฐานขอมูล

ในตัวอยางนีจะมีชื่อฐานขอมูลอยู 2 ชื่อ คือ ฐานขอมูล mydata และฐานขอมูล mysql
้
ตัวอยาง การใชคําสั่ง Show tables เพื่อแสดงชื่อตาราง

เลือกฐานขอมูลที่ตองการจะใชตารางหากใชคําสั่ง show tables กอนจะปรากฏขอผิดพลาดที่
แจงวาใหเลือกฐานขอมูลกอน
การใชคําสัง DESCRIBE
่
การแสดงคอลัมน หรือโครงสรางของตาราง ยังสามารถใชไดอีกคําสั่งหนึ่ง คือ การใชคําสั่ง
DESCRIBE ซึ่งแตกตางจากการใชคําสั่ง SHOW tables ที่คําสั่ง DESCRIBE สามารถระบุเฉพาะ
คอลัมนที่ตองการแสดงได โดยมีรูปแบบดังนี้
DESCRIBE table [column];
โดยที่ table
Column

หมายถึง
หมายถึง

ชื่อตาราง
คอลัมน

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

61

ตัวอยาง การใชคําสั่ง DESCRIBE เพื่อแสดงรายละเอียดของตาราง (โครงสรางของตาราง)

จากรูป ใชคําสั่ง DESCRIBE ในการแสดงรายละเอียดของตาราง employee ที่มีอยูใน
ฐานขอมูลชื่อ mydata โดยมีทั้งหมด 8 คอลัมน พรอมแสดงรายละเอียดของแตละคอลัมน
การเพิ่มขอมูลดวยคําสัง INSERT
่
เมื่อสรางฐานขอมูลเรียบรอยแลว ขั้นตอนตอไป คือ การนําขอมูลมาเก็บลงในฐานขอมูล
ดวยคําสั่ง INSERT ซึ่งมีรูปแบบ ดังนี้
INSERT [into] table [(column1, column2, column3,...)]
VALUES (value1, value2, value3, ...)
โดยที่ table หมายถึง
Column หมายถึง
Value หมายถึง

ชื่อตาราง
ชื่อคอลัมน จะมีหรือไมกได
็
คาของขอมูลที่ตองการเพิ่ม

ตัวอยาง การใชคําสั่ง INSERT ใน MySQL

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

62

จากรูป เปนการใชคําสั่ง INSERT เพื่อเพิมขอมูล ‘R02’ , RoomN02’ , NULL เขาไปไวใน
่
ตารางชื่อ room โดยกอนทีจะมีการจัดการกับตารางในฐานขอมูล
่
การเรียกใชขอมูลดวยคําสัง SELECT
่
หากตองการเรียกดูขอมูล หรือคนหาขอมูล ทําไดโดยใชคําสั่ง SELECT ซึ่งสามารถระบุ
เงื่อนไขตางๆ รวมดวยได การใชคําสั่ง SELECT สามารถแบงเปนหัวขอตางๆ ตามลักษณะการ ใช
งาน ดังนี้
การเรียกใชขอมูลแบบไมมีเงือนไข
่
เปนการใชคําสั่ง SELECT เพื่อเรียกดูขอมูลทั้งตาราง มีรูปแบบดังนี้
SELECT column FROM table;
โดยที่ column
Table

หมายถึง
หมายถึง

ชื่อคอลัมน
ชื่อตาราง

ตัวอยาง การใชคําสั่ง SELECT แบบงายเพื่อเรียกดูขอมูล 1 คอลัมน

จากรูป เลือกแสดงคอลัมน room Name จากตาราง room ซึ่งกอนการเขาใชตารางจะตอง
ระบุฐานขอมูล ดวยคําสั่ง use

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

63

ตัวอยาง การใชคําสั่ง SELECT เพื่อเลือกแสดงหลายคอลัมนในคําสั่งเดียว

จากรูป เปนการใชคําสั่ง SELECT เลือกคอลัมน RoomID และ RoomName จากตาราง
room เพื่อแสดงรหัสหอง และชื่อหองตางๆ ที่อยูภายในตาราง room
ตัวอยาง การใชคําสั่ง SELECT เพื่อแสดงทุกคอลัมนในตาราง

การเรียกใชขอมูลแบบมีเงื่อนไข
เปนการใชคําสั่ง SELECT เพื่อเรียกดูขอมูลภายในตาราง ตามเงื่อนไขที่กําหนด โดยมี
รูปแบบดังนี้
SELECT column
FROM table
[WHERE condition]
[GROUP BY group_type]
[HAVING where_definition]
[ORDER BY order_type]
[LIMIT limit_criteria];

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL
โดยที่

column
table
condition
gropu_type
where_definition

หมายถึง
หมายถึง
หมายถึง
หมายถึง
หมายถึง

order_type
limit_criteria

หมายถึง
หมายถึง

64

ชื่อคอลัมน
ชื่อตาราง
เงื่อนไขที่ตองการกําหนด
รายชื่อของคอลัมนที่ใชในการกําหนดกลุม
เงื่อนไขที่ตองการกําหนดกลุมใหกับ

คอลัมนที่ถูกระบุในคําสั่ง GROUP BY
ชนิดของการเรียงลําดับ
ตําแหนง และจํานวนแถวทีตองการเลือก
่

WHERE
เปนคําสั่งที่ใชเรียกดูขอมูลแบบมีเงื่อนไข เปนการระบุคาเฉพาะขอมูลที่ตองการเรียกดู อาจจะ

ใชเงื่อนไข เพือดึงขอมูลบางแถวจากตารางก็ได ซึ่งภายในคําสั่ง WHERE จะประกอบดวยสวนสําคัญ
่
คือ ชื่อคอลัมน Operator ในการเปรียบเทียบ และขอมูลเฉพาะที่ตองการแสดงเปนเงื่อนไขของ
คอลัมนที่ระบุ
ตัวอยาง การใชคําสั่ง SELECT แบบมีเงื่อนไข

จากรูป เปนการใชคําสั่ง SELECT เพื่อใหแสดงชื่อของหอง (room Name) จากตารางชื่อ
room ภายใตเงื่อนไขที่รหัสของหอง (roomID) จะตองมีคาเทากับ ‘R02’ ซึ่งกอนการเขาใชคําสั่ง
SELECT ตองเรียกใช ฐานขอมูลดวยคําสั่ง use กอน
Operator ที่ใชในคําสั่ง WHERE นอกจากเครื่องหมายทางคณิตศาสตรตางๆ แลวยังประกอบ
ไปดวยคําสั่งอื่นๆ อีก เชน BETWEEN, IN/NOT IN, LIKE, GROUP BY, HAVING, ORDER
BY และ LIMIT โดยแตละคําสั่งมีรายละเอียดดังนี้

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL
operator

65

ชื่อ

ตัวอยาง
เทากับ
EmpID=8
มากกวา
Average>45.00
นอยกวา
Average<45.00
มากกวาหรือเทากับ Average>=45.00

คําอธิบาย
=
ทดสอบวาคาทั้ง 2 เทากัน
>
ทดสอบวาคาหนึ่งมากกวาอีกคาหนึ่ง
<
ทดสอบวาคาหนึ่งนอยกวาอีกคาหนึ่ง
>=
ทดสอบวาคาหนึ่งมากกวาหรือเทากับอีก
คาหนึ่ง
<=
นอยกวาหรือเทากับ Average<=45.00 ทดสอบวาคาหนึ่งนอยกวาหรือเทากับอีก
คาหนึ่ง
!=หรือ <>
ไมเทากับ
Salary!=0
ทดสอบวาคาทั้ง 2 ไมเทากัน
IS NOT NULL ไมวาง
Salary IS NOT ทดสอบวามีขอมูลอยูในคอลัมน

NULL
IS NULL
คาวาง
Salary IS NULL ทดสอบวาในคอลัมนไมมีขอมูลอยู
BETWEEN
คาที่อยูระหวาง
Average
ทดสอบวาคานั้นอยูระหวางคา 0 และ 60
between 0 and
60.00
IN
คาที่อยูในคอลัมนที่ Name in (“ang”, ทดสอบวาคานั้นอยูในเชตที่กําหนด (ใน

กําหนด
“pim”)
ที่นี้คือตองมีคําวา “ang” หรือ “pim”
รวมอยูดวย)

NOT IN
คาที่ไมไดอยูใน

Name not in
ทดสอบวาคานั้นไมอยูในเชตที่กําหนด

คอลัมนที่กําหนด (“ang”,”pim”) (ในทีนี้คือตองไมมีคําวา “ang” หรือ
่
“pim” รวมอยูดวย)

LIKE
เหมือนกับรูปแบบที่ Name like
ตรวจสอบคาที่เหมือนกับคาที่กําหนด
กําหนด
(“ang%”)
(ในทีนี้คือตรวจสอบคาของชื่อที่ขึ้นตน
่
ดวยคําวา “ang”)
NOT LIKE
ไมเหมือนกับ
Name not like ตรวจสอบคาที่ไมเหมือนกับคาที่กําหนด
รูปแบบที่กําหนด (“ang%”)
(ในทีนี้คือ ตรวจสอบคาของชื่อที่ไมมี
่
ขึ้นตนดวยคําวา “ang”)

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

66

การเรียกใชขอมูลจากหลายตาราง
การเรียกใชขอมูลจากหลายตารางทําได โดยใชคําสั่ง SELECT ใหกําหนดชื่อของตารางแลว
ตามดวย เครื่องหมาย “dot” (.) จากนั้นเขียนคอลัมนที่ตองการจะใหแสดง และที่คําสั่ง FROM ให
ระบุตารางที่ตองการ และกําหนดเงื่อนไขในสวนของ WHERE
ตัวอยาง ในตัวอยางนีจะแสดงการเรียกใชขอมูลจากตาราง 2 ตาราง คือ ตาราง course และตาราง
้
courseprice ของฐานขอมูลชื่อ comlearning โดยตารางทั้ง 2 มีโครงสรางและ ขอมูล ดังนี้
ตาราง course

ตาราง courseprice

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

67

เรียกใชขอมูลจากตาราง course และ courseprice ไดดังรูป

จากรูป แสดงคอลัมน courseid และ coursename จากตาราง course และคอลัมน price
จากตาราง courseprice โดยมีเงื่อนไข คือ courseid จากตาราง course ตองเทากับ courseid จาก
ตาราง courseprice
การรวมตารางดวยคําสัง JOIN
่
เปนคําสั่งที่ใชสําหรับเลือกขอมูลจาก 2 ตาราง หรือมากกวา โดยคียในแตละตารางจะมี

ความสัมพันธกัน การใชคําสั่ง JOIN มีหลายรูปแบบดังนี้
การใช LEFT JOIN
เปนการนําเอาขอมูลจาก 2 ตาราง ที่มีความสัมพันธกันผานทางคียมาแสดงผล โดยใชตาราง
ที่อยูทางซายของคําสั่ง JOIN เปนตัวตั้ง จากนั้นจึงเลือกขอมูลจากตารางที่อยูทางขวาของคําสั่ง JOIN
ซึ่งมีคาคียที่ตรงกัน โดยมีรูปแบบดังนี้
SELECT column FROM tablc1 LEFT JOIN table2 ON table1.field1 compopr table2.
field2
โดยที่

column
table1, table2
field1, field2

หมายถึง
หมายถึง
หมายถึง

compopr

หมายถึง

ชื่อคอลัมนที่ตองการเลือก
ชื่อตารางที่ตองการนําขอมูลมา JOIN กัน
ชื่อคอลัมนที่ใชในการ JOIN จะตองเปน
ขอมูลชนิดเดียวกัน
Operator ที่ใชในการเปรียบเทียบ

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

68

ตัวอยาง
Select course.courseid, course.coursename, courseprice.price from course left join
courseprice on course.courseid = courseprice.courseid;
การใช RIGHT JOIN
เปนการนําเอาขอมูลจากทั้ง 2 ตาราง ที่มีความสัมพันธกันผานทางคียมาแสดงผล

เชนเดียวกับคําสั่ง LEFT JOIN แตแสดงโดยใชตารางทีอยูทางขวาของคําสั่ง JOIN เปนตัวตั้ง แลว
่
เลือกขอมูลจากตารางที่อยูทางซายของคําสั่ง JOIN ซึ่งมีคาคียที่ตรงกัน โดยมีรูปแบบดังนี้
SELECT column FROM table1 RIGHT JOIN table2 ON table1.field1 compopr table2.field2
คาตัวเลือกตางๆ ดูไดจากหัวขอการใช LEFT JOINE
ตัวอยาง
Select course.courseid, course.coursename, courseprice.price from course right join
courseprice on course.courseid = courseprice.courseid;
การปรับปรุงขอมูลดวยคําสัง UPDATE
่
การปรับปรุงขอมูลมีรูปแบบคําสั่ง ดังนี้
UPDATE tablename
SET column1=expression1, column2=expression2,...
[WHERE condition]
[LIMIT number]
โดยที่

tablename
column
expression

หมายถึง
หมายถึง
หมายถึง

condition
number

หมายถึง
หมายถึง

ชื่อตาราง
ชื่อคอลัมน
รูปแบบการคํานวณ หรือคาใหมที่ตองการ
กําหนด
เงื่อนไขของขอมูลที่ตองการจะเปลี่ยน
ขอบเขตของการปรับปรุง

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

69

ตัวอยางที่ การปรับปรุงขอมูลในตาราง courseprice ดวยคําสั่ง UPDATE

จากรูป เปนการปรับปรุงตาราง courseprice ที่ courseid = ‘DADJV2’ จากราคาเดิม คือ
1500 เปลี่ยนเปน 3500
การลบแถวจากตารางดวยคําสั่ง DELETE
คําสั่ง DELETE เปนคําสั่งที่ใชในการลบแถวออกจากตาราง โดยสามารถระบุเงื่อนไขของ
แถวที่ตองการลบได มีรูปแบบของคําสั่ง ดังนี้
DELETE FROM tablename
[WHERE condition] [LIMIT number]
โดยที่

tablename
condition
number

หมายถึง
หมายถึง
หมายถึง

ชื่อตาราง
เงื่อนไขที่กําหนด
จํานวนแถวทีตองการลบ
่

ตัวอยาง การลบแถวออกจากตารางตามเงือนไขที่กําหนด
่

จากรูปเปนการลบแถวที่มี courseid = ‘DADJV2’ ออกจากตาราง course

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

70

การลบตาราง และฐานขอมูลดวยคําสัง DROP
่
DROP เปนคําสั่งที่ใชสําหรับลบตารางออกจากฐานขอมูล หรือใชลบฐานขอมูล โดยมี
รูปแบบ ดังนี้
DROP TABLE tablename; หรือ DROP DATABASE databasename;
โดยที่

TABLE
tablename
DATABASE
databasename

หมายถึง
หมายถึง
หมายถึง
หมายถึง

คําสั่งสําหรับลบตาราง
ชื่อตารางที่ตองการลบ
คําสั่งสําหรับลบฐานขอมูล
ชื่อฐานขอมูลที่ตองการลบ

ตัวอยาง การลบตารางออกจากฐานขอมูลดวยคําสั่ง DROP TABLE
Mysql> Drop table course;
ตัวอยาง การลบฐานขอมูลดวยคําสั่ง DROP DATABASE
Mysql> Drop database mydata;
จากตัวอยาง เปนการใชคําสัง DROP DATABASE เพื่อลบฐานขอมูล จะทําใหตารางทั้งหมด
่
ที่อยูใน ฐานขอมูล mydata นี้ถูกลบไปดวย ซึ่งการลบนี้เปนการลบแบบถาวรไมสามารถกูขอมูลคืน
ได

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

71

สรุปคําสัง SQL
่
SQL Statements
ALTER TABLE
ALTER TABLE table_ name
[ MODIFY | ADD | DROP ]
[ colimn _ name ] [ datatype | NULL | NOT | NOT NULL ]
[ ADD | DROP ] [ CONSTRAINT constraint _ name ]
คําอธิบาย : แกไขโครงสรางของเทเบิ้ล
COMMIT
COMMIT [ transaction ]
คําอธิบาย : บันทึกทรานแซกซั่นจากบัฟเฟอรฐานขอมูลเก็บลงในฐานะขอมูล
CREATEINDEX
CREATE INDEX index _ name
ON table _ name ( column _ name )
คําอธิบาย : สรางอินเด็กซบนคอลัมนของเทเบิล
CREATE TABLE
CREATE TABLE
table _ name
( column _ name 1 datatype [ NULL | NOT NULL ],
column _ name 2 datatype [ NULL | NOT NULL ]… )
คําอธิบาย : สรางเทเบิล
CREATE TABLE AS
CREATE
TABLE table _ name AS
SELECT
column _ name 1, column _ name 2,...
การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

72

FROM
table _ name
[ WHERE
conditions ]
[ GROUP BY column _ name 1, column _ name 2,...]
[ HAVING conditions ]
คําอธิบาย : สรางเทเบิลดวยขอมูลจากเทเบิลอื่น
CREATE VIEW
CREATE VIEW AS
SELECT
FROM
[ WHERE
[ GROUP BY
[ HAVING
คําอธิบาย : สรางวิว

column _ name 1, column _ name 2,...
table _ name
conditions ]
column _ name 1
column _ name 2,...]
cinditions ]

DELETE
DELETE
FROM
[ WHERE

table _ name
conditions]

คําอธิบาย : ลบแถวขอมูลออกจากเทเบิล
DROP INDEX
DROP INDEX index _ name
คําอธิบาย : ยกเลิกอินเด็กซของเทเบิล

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

73

DROP TABLE
DROP TABLE table _ name
คําอธิบาย : ยกเลิกเทเบิลทีสรางไว
่
DROP VIEW
DROP VIEW view _ name
คําอธิบาย : ยกเลิกวิว
GRANT
GRANTprivilegel , privilege 2,...
TO
user _ name
คําอธิบาย : กําหนดสิทธิการใชงานฐานขอมูล
INSERT
INSERT INTO table _ name [( column _ name 1, column _ name 2,...
VALUES ( ‘ valuel’, ‘ value2’ , ...)
คําอธิบาย : เพิ่มขอมูลลงในเทเบิล
INSERT...SELECT
INSERT

INTO table _ name

SELECT
column _ name 1, column _ name 2,...)]
FROM
table _ name
[ WHERE
conditions ]
คําอธิบาย : ใสขอมูลลงในเทเบิลที่มีอยูแลว โดยดึงขอมูลที่ตองการมาจากเทเบิลอื่น

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

74

REVOKE
REVOKE

privilegel, privilege 2,...

FROM
user _ namr
คําอธิบาย : เรียกสิทธิการใชงานฐานขอมูลคืนจากผูใช
ROLLBACK
ROLLBACK [ savepoint _ name ]
คําอธิบาย : ยกเลิกทรานแซกซั่น
SAVEPOINT
SAVEPOINT savepoint _ name
คําอธิบาย : กําหนดจุดเวลาของทรานแซกซั่น
SELECT
SELECT

[ DISTINCT ] column _ name 1, column _ name 2,...

FROM
table _ name 1, table _ name 2,...
[ WHERE
conditions ]
[ GROUP by cilumn _ name 1, column _ name 2,...]
[ HAVING conditions ]
[ ORDER by column _ name 1, column _ name 2,...]
คําอธิบาย : สอบถามขอมูลจากเทเบิลเดียวหรือหลายเทเบิล
UPDATE
UPDATE

tablr _ name

SET

column _ name 1 = ‘ value 1’ ,
column _ name 2 = ‘ value 2’ ,
[ WHERE
conditions ]
คําอธิบาย : ปรับปรุงหรือแกไขขอมูลในเทเบิล
การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

75

SQL CLAUSES
SELECT
SELECT
หรือ SELECT
column _ name 1, cilumn _ name 2,...
หรือ SELECT
DISTINCT ( column _ name 1 )
หรือ SELECT
COUNT ( * )
คําอธิบาย : กําหนดอลัมนทตองการแสดงผล
ี่
FROM
FROM table _ name 1 , table _ name 2,...
คําอธิบาย : กําหนดเทเบิลที่ตองการดึงขอมูลจากฐานขอมูลมาแสดง
WHERE
WHERE

< search _ condition >

คําอธิบาย : กําหนดเงื่อนไขในการเลือกแถวขอมูลที่ตองการมาแสดง
GROUP BY
GROUP BY group _ column 1 , group _ column 2,...
คําอธิบาย : จัดขอมูลที่มีอยูออกเปนกลุม
HAVING
HAVING

< search _ condition >

คําอธิบาย : ใชกําหนดเงื่อนไขใหกับกลุมดวย GROUP BY

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

76

ORDER BY
ORDER BY { column _ name , column _ name 2,...[ ASCIDESC ]}
[ 1, 2,...,n ]
คําอธิบาย : เรียงลําดับแถวขอมูลตามคอลัมนที่ระบุไวหลัง ORDER BY กอนแสดงผล
บนหนาจอ

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

77

การใชโปรแกรมจัดการฐานขอมูลดวย PhpMyAdmin
PhpMyAdmin เปนเครื่องมือชวยในการใชงานระบบจัดการฐานขอมูล MySQL ชนิดหนึ่ง มี
ความสามารถในการบริหารการทํางานของ Server และชวยในการสรางฐานขอมูลของ MySQL จุดเดนอีก
ประการของ PhpMyAdmin คือ สนับสนุนการทํางานรวมกันของ ฐานขอมูล MySQL และ ภาษา PHP
ความสามารถของโปรแกรม PhpMyAdmin มีดังนี้
• เปนโปรแกรมฟรีแวร
• สามารถออกแบบ และสรางฐานขอมูลได
• สามารถออกแบบ สราง และแกไขตารางได
• จัดการการกําหนดการเชื่อมโยงระหวางฟลด
• สามารถบริหารจัดการขอมูลในฐานขอมูลไดเปนอยางดี
• แปลงขอมูลไดมากกวา 41 ภาษา
การเรียกใชโปรแกรม PhpMyAdmin
ทําการเปดโปรแกรม Internet Explorer แลวเรียก URL http://localhost/phpmyadmin/ ก็จะปรากฏ
หนาจอภาพดังตัวอยาง

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

78

การสรางฐานขอมูล
1. คลิกเลือกที่ (ฐานขอมูล)............ใน Listbox

2. พิมพชื่อฐานขอมูลที่ตองการในชองของ “สรางฐานขอมูลใหม” ในทีนกําหนดชื่อเปน “library”
่ ี้

3. คลิกที่ปุม “สราง” โปรแกรมจะทําการสรางฐานขอมูลที่ชื่อ “library” แตยังไมมตารางดังรูป
ี

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

79

การสรางตาราง
1. ที่หนาแรกของการใชงานโปรแกรม จอภาพทางซายมือคลิกเลือกฐานขอมูลที่ตองการ ในที่นี้เลือก
“library”

2. พิมพชื่อตารางในชอง “ชื่อ” ในที่นกําหนดใหสรางตารางชื่อ “book” แลวกําหนดจํานวนฟลด เปน
ี้
6 จากนั้นคลิกที่ปุม “ลงมือ”

3. จะปรากฏหนาจอใหกรอกขอมูล โดยตัวอยางนี้จะเปนการการสรางตาราง “book” เพื่อเก็บขอมูล
โดยมีรายละเอียดดังนี้
Field Name
Barcode
Title
Author
Price
Type
Year

Data Type
int(5)
varchar(50)
varchar(40)
varchar(20)
varchar(40)
varchar(4)

Description
รหัสหนังสือ
ชื่อหนังสือ
ชื่อผูแตง
ราคา
ประเภทหนังสือ
ปที่พิมพ

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

80

4. เมื่อกรอกขอมูลครบแลว คลิกที่ปุม “บันทึก” จะปรากฏขอมูลของตาราง “book” ดังรูป

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

81

การเพิ่มขอมูลลงในตาราง
1. ที่หนาแรกของการใชงานโปรแกรม จอภาพทางซายมือคลิกเลือกฐานขอมูลที่ตองการ ในที่นี้เลือก
“library” จากนั้นเลือกตารางที่ตองการเพิมขอมูล ในที่นี้เลือก “book”
่
2. จากนั้นเลือกทีเ่ มนู “แทรก” เพื่อทําการเพิ่มขอมูล

3. กรอกขอมูลตามตองการ เสร็จแลวคลิกที่ปม “ลงมือ”
ุ

4. จะปรากฏหนาแสดงรายละเอียดการเพิ่มขอมูลใหมดังรูป

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

82

การเรียกดูขอมูลในตาราง
1. ที่หนาแรกของการใชงานโปรแกรม จอภาพทางซายมือคลิกเลือกฐานขอมูลที่ตองการ ในที่นี้เลือก
“library”จากนั้นเลือกตารางที่ตองการเพิมขอมูล ในที่นี้เลือก “book”
่
2. จากนั้นเลือกทีเ่ มนู “เปดดู” เพื่อทําการเรียกดูขอมูล

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

83

รูปแสดงขอมูลภายในตาราง book
การแกไขขอมูลในตาราง
1. ที่หนาแรกของการใชงานโปรแกรม จอภาพทางซายมือคลิกเลือกฐานขอมูลที่ตองการ ในที่นี้เลือก
“library” จากนั้นเลือกตารางที่ตองการเพิมขอมูล ในที่นี้เลือก “book”
่
2. จากนั้นเลือกทีเ่ มนู “เปดดู” เพื่อทําการเรียกดูขอมูล กอนทําการแกไข
3. เลือกแถวของขอมูลที่ตองการแกไขโดยการคลิกที่ “แกไข” หนาแถวขอมูลที่ตองการ

4. จากนั้นโปรแกรมจะแสดงรายละเอียดของขอมูล ใหทําการแกไขตามตองการเสร็จแลวคลิกที่ “ลง
มือ”

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

84

รูปแสดงขอมูลที่ไดทําการเปลี่ยนแปลงภายในตาราง book

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 4 การใชงานฐานขอมูล MySQL

85

การลบขอมูลในตาราง
1. ที่หนาแรกของการใชงานโปรแกรม จอภาพทางซายมือคลิกเลือกฐานขอมูลที่ตองการ ในที่นเี้ ลือก
“library” จากนั้นเลือกตารางที่ตองการเพิมขอมูล ในที่นี้เลือก “book”
่
2. จากนั้นเลือกที่เมนู “เปดดู” เพื่อทําการเรียกดูขอมูล กอนทําการแกไข
3. เลือกแถวของขอมูลที่ตองการลบโดยการคลิกที่ “ลบ” หนาแถวขอมูลที่ตองการ

4. จากนั้นโปรแกรมจะทําการแสดงหนาตางยืนยันการลบขอมูลใหตอบ OK

รูปภาพแสดงขอความวาไดทําการลบขอมูลเรียบรอยแลว

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่
การจัดการฐานขอมูลดวยคําสั่งในโปรแกรม Dreamweaver

5

โปรแกรม Dreamweaver MX นั้นยังมีสวนที่ชวยในการพัฒนาโปรแกรมออนไลนไดงายและรวดเร็ว
มากขึ้นดวยเครื่องมือตางๆ ในบทนี้จะแนะนําการจัดการฐานขอมูลดวยคําสั่งสําเร็จรูปในโปรแกรม
Dreamweaver เพื่อความสะดวกรวดเร็วและงายตอการพัฒนาโปรแกรมออนไลน

การกําหนดโลคอลไซตในโปรแกรม Dreamweaver เพื่อทํางานรวมกับ PHP และ MySQL
กอนการทํางานกับฐานขอมูลและภาษาคอมพิวเตอรเราจําเปนจะตองกําหนดลักษณะและชนิดของ
โลคอลไซตใหสามารถรองรับการใชภาษา PHP รวมทั้งเชื่อมโยงกับฐานขอมูล MySQL เสียกอน โดยมีขั้นตอน
ดังนี้
1. ที่โปรแกรม Dreamweaver MX เลือกคําสั่ง Site > Manage Sites จะปรากฏกรอบโตตอบ Manage
Sites
2. คลิกที่ปุม New เลือกที่คําสั่ง Site จะปรากฏกรอบโตตอบ Site Definition ตั้งชื่อ Site ที่ตองการใน
ที่นี้ตั้งเปน LIBRARY จากนั้นคลิกที่ปุม Next

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

87

3. เลือก Server Technology เปน PHP MySQL จากนั้นคลิกที่ปุม Next

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

88

4. เลือกแหลงเก็บขอมูลภายในเครื่องในที่นคือ C:Appservwwwlibrary จากนันคลิกปุม Next
ี้
้

้
5. กําหนด URL ที่จะใชแสดงผลของเว็บไซตที่สรางขึ้นในที่นี้ใส http://localhost/library/ จากนัน
คลิกที่ปุม Next

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

89

6. ทําการเลือก No แลวคลิกที่ปม Next
ุ

7. ระบบจะทําการแสดงรายละเอียดและขอมูลของไซตที่สรางขึ้นใหมจากนั้นคลิกที่ปุม Done

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

90

8. จะปรากฏชื่อไซตใหมในกรอบโตตอบ Manage Sites คลิกที่ปุม Done เพื่อออกจากการ
กําหนดโลคอลไซต

การกําหนดการเชื่อมตอกับฐานขอมูล
1. เริ่มตนที่โปรแกรม Dreamweaver MX คลิกเมนู File > New จะปรากฏไดอะล็อก
New Document ขึ้นมา ใหคลิกแท็บ General คลิกเลือก Dynamic Page > PHP
2. เปดพาเนล Database โดยเลือกคําสั่ง Window > Database จากนั้นคลิกที่ไอคอน เลือก
MySQL Connect
3. จะปรากฏกรอบโตตอบ MySQL Connect ใหกําหนดคาโดยมีรายละเอียดดังรูป

4. เมื่อกําหนดรายละเอียดตามตองการแลวใหคลิกปุม OK
5. เมื่อกําหนดการเชื่อมโยงถูกตอง จะปรากฏชื่อตัวแปรทีใชติดตอฐานขอมูลที่ตั้งไว ในแท็บของ
่
Databases

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

91

การสรางระบบแสดงผลขอมูล
ในสวนของระบบแสดงขอมูลนี้จะประกอบดวยไฟล 1 ไฟล ดังรูป

กอนอื่นทําการสรางไฟล PHP ใหมแลวทําการบันทึกชือ show_book.php แลวทําการสรางตาราง
่
สําหรับแสดงผลขอมูล โดยจะเปนการแสดงขอมูลทีละหลายๆ เร็คคอรดลงในเว็บเพจ พรอมทั้งมีการปรับแตง
รูปแบบโดยใชเครื่องมือของ Dreamweaver MX กอนดังรูป

1. เปดพาเนล Sever Behaviors โดยเลือกคําสั่ง Window > Sever Behaviors จากนั้นคลิกที่ไอคอน
เลือก Recordset
2. จะปรากฏกรอบโตตอบ Recordset โดยมีรายละเอียดดังนี้

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

92

Name
Connection

กําหนดชื่อเรคคอรดเซ็ตที่ตองการ ในที่นกาหนดเปน show_book
ี้ ํ
ชื่อฐานขอมูลที่ตองการเชื่อมตอ โดยสรางมาแลวในหัวขอการเชื่อมตอ
ฐานขอมูลในที่นี้ เลือก conn_library
SQL
เปนคําสั่ง SQL โดยคําสั่งจะเกิดจากการคลิกปุมคําสั่ง หรือพิมพเพิ่มเองก็ได
Variables
กําหนดชื่อของตัวแปร และคําสั่งในการรับคาตัวแปร
Database Item เลือกรูปแบบที่ตองการดูรายละเอียดของตาราง
Add to SQL รูปแบบคําสั่งที่ตองการมีอยู 3 ปุมใหเลือกคือ Select, Where และ Order By
ซึ่งเปนคําสั่งภาษา SQL โดยในที่นี้เลือกคําสั่ง Select

3. คลิกปุม OK จะปรากฏเรคคอรดเซ็ตที่กําหนดใหในแท็บ Bindings ดังรูป

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

93

4. จากนั้นแทรกคําสั่งสําหรับแสดงผลขอมูลลงในตารางโดยการคลิกเลือกและแทรกฟลดตาราง
เพื่อแสดงผลขอมูล ตามขั้นตอนทําจนครบทุกชองตาราง ดังรูป

5. จากนั้นคลิกเมาสใหเคอรเซอรอยูในบริเวณบรรทัดที่แสดงผล หลังจากนั้นใหคลิกเลือกแท็ก
<TR> บน Tag Selector

6. คลิกที่เมนู Window > Server Behaviors หลังจากนันใหคลิกเครื่องหมายบวก
้
เพื่อเลือกเมนู
Repeat Region เมื่อปรากฏไดอะล็อก Repeat Region ใหกําหนดคาตางๆ ดังรายละเอียดดังรูปดานลางนี้
หลังจากนันใหคลิกปุม OK
้

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

94

7. จากนั้นทําการบันทึก แลวกดปุม F12 จะแสดงผลลัพธบนบราวเซอรดังรูป

การสรางระบบเพิ่มขอมูล
ระบบเพิ่มขอมูล คือเว็บเพจที่ทําหนาทีในการรับขอมูลจากผูใชผานฟอรม และบันทึกการกรอกขอมูล
่
เขาจัดเก็บในฐานขอมูล ในที่นี้จะประกอบดวยไฟล 2 ไฟล ดังรูป

เริ่มตนที่โปรแกรม Dreamweaver MX คลิกเมนู File > New จะปรากฏไดอะล็อก New Document
ขึ้นมา ใหคลิกแท็บ General คลิกเลือก Dynamic Page > PHP หลังจากนั้นคลิกปุม Create บันทึกเปนไฟล
insert.php แลวทําการสรางฟอรมสําหรับรับขอมูลโดยใชเครื่องมือของ Dreamweaver MX กอนดังรูป

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

95

1. เปดไดอะล็อก Properties โดยคลิกเมนู Window > Properties หลังจากนั้นใหพิมพชอฟอรม
ื่
frmAdd ที่ชอง Form name

บวก

2. เปดแถบ Server Behaviors โดยคลิกเมนู Window > Server Behaviors แลวคลิกที่ปุมเครื่องหมาย
เลือกรายการ Insert Record จากเมนู ดังรูป

3. เมื่อปรากฏไดอะล็อก Insert Record ขั้นตอนตอจากนี้ ก็จะเปนการกําหนดคาในไดอะล็อก Insert
Record ซึ่งรายละเอียดการกําหนดคาตางๆ มีดังตอไปนี้

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

96

4. ทําการบันทึกไฟล insert.php ก็เปนอันเสร็จขั้นตอนการแทรก Insert Record Server behavior
5. ขั้นตอนสุดทายของระบบเพิมขอมูลคือ การสรางไฟลแสดงผลการทํางาน ซึ่งจะประกอบดวย
่
ขอความ แสดงใหผูใชทราบวาการกรอกขอมูลเสร็จเรียบรอยแลวเทานัน ใหสรางเว็บเพจขึ้นมาและพิมพ
้
ขอความสําหรับแสดงผลการเพิ่มขอมูล บันทึกเปนไฟลชื่อ insert_ok.php

6. เริ่มตนโดยใชโปรแกรม Dreamweaver MX เปดไฟล insert.php ขึ้นมา แลวกดปุม F12
โปรแกรม Internet Explorer จะถูกเปดขึ้นมาเรียกใชงานไฟล insert.php หลังจากนันใหทดลองกรอกขอมูล
้
และคลิกปุม Insert เพื่อบันทึกขอมูล เสร็จแลวรอดูผลที่จะแสดงจากไฟล insert_ok.php

การสรางระบบแกไขขอมูล
ระบบแกไขขอมูล คือระบบเว็บเพจที่จัดทําขึ้นเพื่อใหผูใชสามารถเรียกดูขอมูลเร็คคอรดเดิมจากตาราง
ของฐานขอมูล และผูใชสามารถแกไขปรับปรุงขอมูลใหเปนปจจุบัน หลังจากนั้นก็สามารถบันทึกขอมูลที่แกไข
แลวลงในตารางของฐานขอมูลได
การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

97

กอนอื่นทําการสรางไฟล PHP ใหมแลวทําการบันทึกชือ update.php แลวทําการสรางฟอรมสําหรับ
่
แกไขขอมูลโดยใชเครื่องมือของ Dreamweaver MX กอนดังรูป

1. เปดไดอะล็อก Properties โดยคลิกเมนู Window > Properties หลังจากนั้นใหพิมพชอฟอรม
ื่
frmUpdate ที่ชอง Form name

ขั้นตอนการสราง recordset สําหรับคนหาขอมูลเร็คคอรดที่ตองการแกไข
1. คลิกที่เมนู Window > Server Behaviors หลังจากนันใหคลิกปุมเครื่องหมายบวก
้
รายการ Recordset

และเลือก

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

98

2. เมื่อปรากฏไดอะล็อก Recordset ขึ้นมา ใหกําหนดคาตางๆ ดังรายละเอียดขางลางนี้ หลังจากนัน
้
คลิกปุม OK

3. บันทึกไฟล update.php
ขั้นตอนการแทรกสคริปตสาหรับแสดงขอมูลเดิมในฟอรม HTML
ํ
1. เริ่มตนเปดโปรแกรม Dreamweaver MX ไปที่ไฟล update.php คลิกที่เมนู Window > Bindings
หลังจากนันใหคลิกเครื่องหมายบวก
้
หนารายการ Recordset (update_book) จะปรากฏชื่อฟลด ใหคลิก
เลือก และแทรกฟลดลงในอ็อบเจ็คตของฟอรมเพื่อแสดงผลขอมูล ดังรูปดานลาง

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

99

2. บันทึกไฟล update.php ก็เปนอันเสร็จการแสดงผลขอมูลลงในฟอรม
การแทรก Update Record Server Behavior ลงในเว็บเพจ
การแทรก Update Record Server Behavior ก็คือการแทรกสคริปต PHP เพื่อสั่งใหบนทึกการแกไข
ั
ขอมูลลงตารางของฐานขอมูล
1. เริ่มตนที่โปรแกรม Dreamweaver MX เปดไฟล update.php หลังจากนั้นใหคลิกเมาสที่ตําแหนง
ใดๆ ภายใตเสนประสีแดง ที่เปนขอบเขตของฟอรม
2. คลิกเมนู Insert > Form > Hidden Field หลังจากนันคลิกเมาสที่อ็อบเจ็คต Hidden Field จะ
้
ปรากฏไดอะล็อก Properties ของ Hidden Field (หากไมปรากฏไดอะล็อก Properties ใหคลิกที่เมนู Windows >
Properties) และใหกําหนดคาในไดอะล็อกดังตอไปนี้

บวก

3. เปดแถบ Server Behaviors โดยคลิกเมนู Window > Server Behaviors แลวคลิกที่ปมเครื่องหมาย
ุ
เลือกรายการUpdate Record จากเมนู
4. เมื่อปรากฏไดอะล็อก Update Record ใหกําหนดคาตางๆ มีดังตอไปนี้

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

100

5. บันทึกไฟล update.php ก็เปนอันเสร็จขั้นตอนการแทรก Update Record Server behavior
การสงและรับคา URL Parameter เพื่อระบุเร็คคอรดที่ตองการแกไข

ขั้นตอนนี้ ก็คอการทําใหไฟลเว็บเพจ 2 ไฟล show_book.php และ update.php สามารถเชื่อมโยงเพื่อ
ื
สงและรับคา URL Parameter กันไดนั่นเอง
1. เริ่มตนที่โปรแกรม Dreamweaver MX เปดไฟล show_book.php ขึ้นมา แลวลากเมาสทําไฮไลต
ขอความ "แกไข" ดังรูป

2. เปดไดอะล็อก Properties โดยคลิกที่เมนู Window > Properties จะปรากฏไดอะล็อก Properties
ขึ้นมา ใหคลิกไอคอนรูป Folder สีเหลือง (Browse for File) ที่ตําแหนงชอง Link เพื่อสรางไฮเปอรลิงค
สําหรับ URL Parameter ไปหาไฟล update.php

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

101

3. เมื่อปรากฏไดอะล็อก Select File ขึ้นมา ใหคลิกเลือกไฟล update.php เปนการกําหนดวาจะสงคา
URL Parameter ไปที่ไฟลนี้ หลังจากนันใหคลิกปุม Parameters ที่ดานลางของไดอะล็อก Select File เพื่อ
้
กําหนดการสงคา URL Parameter

4. เมื่อปรากฏไดอะล็อก Parameters ขึ้นมา ที่ชอง Name ใหพิมพชื่อ URL Parameter ที่ตองการ
จะสงไป ในทีนี้ใหเราพิมพ key_barcode หลังจากนันใหไปที่ชอง Value เพื่อกําหนดคาที่จะสงไป ในที่นี้
่
้
เราตองการกําหนดคาใหเปลียนไปแบบ Dynamic ตามขอมูลที่แสดงในแตละเร็คคอรด ใหคลิกปุม Dynamic
่

Data ที่ชอง Value
5. เมื่อปรากฏไดอะล็อก Dynamic Data ขึ้นมา ใหคลิกเลือกฟลด Barcode จาก Recordset
้
(show_book) หลังจากนันคลิกปุม OK

6. บันทึกไฟล show_book.php ก็เปนเสร็จขันตอนการกําหนดการสงคา URL Parameter
้
การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

102

7. ขั้นตอนสุดทายคือกําหนดใหไฟล update.php รับคา URL Parameter ที่สงมาจากไฟล
show_book.php ซึ่งวิธีการทํานั้น เราไดทําผานมาแลวใหยอนกลับไปดูในขั้นตอน “การสราง recordset
สําหรับคนหาขอมูลเร็คคอรดที่ตองการแกไข" จะเห็นไดวาเราไดมีการเรียกใช URL Parameter
“key_barcode” ซึ่งก็คือคา URL Parameter ที่สงไปจากไฟล show_book.php นั่นเอง
การแสดงผลลัพธการแกไขขอมูล
ขั้นตอนสุดทายของระบบแกไขขอมูลคือ การสรางไฟลแสดงผลการทํางาน ซึ่งจะประกอบดวย
ขอความ แสดงใหผูใชทราบวาการแกไขขอมูลเสร็จเรียบรอยแลวเทานัน ใหสรางเว็บเพจขึ้นมาและพิมพ
้
ขอความสําหรับแสดงผลการแกไขขอมูล บันทึกเปนไฟล update_ok.php

การใชงานระบบแกไขขอมูล
เริ่มตนโดยใชโปรแกรม Dreamweaver MX เปดไฟล show_book.php ขึ้นมา แลวกดปุม F12
โปรแกรม Internet Explorer จะถูกเปดขึ้นมาเรียกใชงานไฟล show_book.php หลังจากนั้นใหคลิกปุม "แกไข"
เพื่อแกไขขอมูลแตละเร็คคอรด เสร็จแลวคลิกปุม Edit เพื่อบันทึกขอมูล รอดูผลที่จะแสดงจากไฟล
update_ok.php

การสรางระบบลบขอมูล

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

103

ขั้นตอนการสรางฟอรมและตารางแสดงขอมูลที่ตองการลบ
1. เริ่มตนที่โปรแกรม Dreamweaver MX คลิกเมนู File > New จะปรากฏไดอะล็อก New Document
ขึ้นมา ใหคลิกแท็บ General คลิกเลือก Dynamic Page > PHP หลังจากนั้นคลิกปุม Create บันทึกเปนไฟล
delete.php
2. แทรกฟอรมและตาราง ปรับแตงรูปแบบของเว็บเพจโดยใช Background Image ไฟลรูปภาพ
รวมทั้งขอความดังรูป

3. คลิกวางเมาสภายในเสนประสีแดงของฟอรม และคลิกแท็ก <FORM> ที่ Tag Selector
4. เปดไดอะล็อก Properties โดยคลิกเมนู Window > Properties หลังจากนั้นใหกาหนดคุณสมบัติ
ํ
ของฟอรม HTML ในชอง Form name เปน "frmDelete" และ Method เปน "POST" ดังรูป

การสราง Recordset เพื่อคนหาขอมูลเร็คคอรดที่ตองการลบ
ขั้นตอนนี้จะเปนการคนหาเอาขอมูลเร็คคอรดที่ตองการลบ เพื่อนําเอามาแสดงในตารางใหผูใชยนยัน
ื
หรือยกเลิกการลบ
1. คลิกที่เมนู Window > Server Behaviors หลังจากนั้นใหคลิกปุมเครืองหมายบวก
่
และเลือก
รายการ Recordset

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

104

2. เมื่อปรากฏไดอะล็อก Recordset ขึ้นมา ใหกําหนดคาตางๆ ดังรายละเอียดขางลางนี้ หลังจากนัน
้
คลิกปุม OK

การแสดงผลขอมูลเพื่อยืนยันหรือยกเลิกการลบ
ขั้นตอนนี้จะเปนการแทรกสคริปตสําหรับนําเอาฟลดจากการสราง Recordset ในขั้นตอนการคนหา
ขอมูลมาแสดงผลในฟอรมของเว็บเพจ เพื่อแสดงขอมูลเพื่อยืนยันกอนที่จะลบ
1. เริ่มตนที่ไฟล delete.php คลิกที่เมนู Window > Bindings หลังจากนั้นใหคลิกเครื่องหมายบวก
หนารายการ Recordset จะปรากฏชื่อฟลด ใหคลิกเลือกและแทรกฟลดลงในอ็อบเจ็คตของฟอรมเพื่อ
แสดงผลขอมูล ดังรูป

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

105

2. บันทึกไฟล delete.php ก็เปนอันเสร็จการแสดงผลขอมูลลงเว็บเพจ
การแทรกสคริปต Delete Record Server Behavior
การแทรก Delete Record Server Behavior เปนการแทรกสคริปต PHP สําหรับการลบขอมูลออกจาก
ตารางของฐานขอมูล
1. เริ่มตนที่โปรแกรม Dreamweaver MX เปดไฟล delete.php หลังจากนั้นใหคลิกเมาสที่ตําแหนง
ใดๆ ภายใตเสนประสีแดง ที่เปนขอบเขตฟอรมของการลบขอมูล
2. คลิกเมนู Insert > Form > Hidden Field คลิกเมาสที่อ็อบเจ็คต Hidden Field จะปรากฏไดอะล็อก
Properties ของ Hidden Field (หากไมปรากฏไดอะล็อก Properties ใหคลิกที่เมนู Windows > Properties) และ
ใหกําหนดคาในไดอะล็อกดังตอไปนี้

บวก

3. เปดแถบ Server Behaviors โดยคลิกเมนู Window > Server Behaviors แลวคลิกที่ปมเครื่องหมาย
ุ
เลือกรายการ Delete Record จากเมนู

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

106

4. เมื่อปรากฏไดอะล็อก Delete Record ใหเรากําหนดคาในไดอะล็อก Delete Record กําหนดคา
ตางๆ ดังตอไปนี้

5. บันทึกไฟล delete.php ก็เปนอันเสร็จขันตอนการแทรก Delete Record Server behavior
้
การสงและรับคา URL Parameter เพื่อคนหาขอมูลเร็คคอรดที่ตองการลบ
ขั้นตอนนี้ ก็คอการทําใหไฟลเว็บเพจ 2 ไฟล show_book.php และ delete.php สามารถเชื่อมโยงเพื่อ
ื
สงและรับคา URL Parameter กันไดนั่นเอง
1. เริ่มตนที่โปรแกรม Dreamweaver MX เปดไฟล show_book.php ขึ้นมา แลวลากเมาสทําไฮไลต
ขอความ "ลบ"

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

107

2. เปดไดอะล็อก Properties โดยคลิกที่เมนู Window > Properties จะปรากฏไดอะล็อก Properties
ขึ้นมา ใหคลิกไอคอนรูป Folder สีเหลือง (Browse for File) ที่ตําแหนงชอง Link เพื่อสรางไฮเปอรลิงค
สําหรับ URL Parameter ไปหาไฟล delete.php

3. เมื่อปรากฏไดอะล็อก Select File ขึ้นมา ใหคลิกเลือกไฟล delete.php เปนการกําหนดวาจะสงคา
URL Parameter ไปที่ไฟลนี้ หลังจากนันใหคลิกปุม Parameters ที่ดานลางของไดอะล็อก Select File เพื่อ
้
กําหนดการสงคา URL Parameter

4. เมื่อปรากฏไดอะล็อก Parameters ขึ้นมา ที่ชอง Name ใหพิมพชื่อ URL Parameter ที่ตองการ
จะสงไป ในทีนี้ใหเราพิมพ Barcode หลังจากนั้นใหไปที่ชอง Value เพื่อกําหนดคาที่จะสงไป ในที่นี้เรา
่
ตองการกําหนดคาใหเปลียนไปแบบ Dynamic ตามขอมูลที่แสดงในแตละเร็คคอรด ใหคลิกปุม Dynamic Data
่
ที่ชอง Value

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

คาของไดอะล็อก
Name
Value

108

คาที่กําหนด
Barcode
<?php echo $row_show_book['Barcode']; ?>

5. บันทึกไฟล show_book.php ก็เปนเสร็จขั้นตอนการกําหนดการสงคา URL Parameter
6. ขั้นตอนสุดทายคือกําหนดใหไฟล delete.php รับคา URL Parameter ที่สงมาจากไฟล
show_book.php ซึ่งวิธีการทํานั้น เราไดทําผานมาแลวใหยอนกลับไปดูในขั้นตอน "การสราง Recordset เพื่อ
คนหาขอมูลเร็คคอรดที่ตองการลบ" จะเห็นไดวา เราไดมีการเรียกใช URL Parameter “Barcode” ซึ่งก็คือคา
URL Parameter ที่สงไปจากไฟล show_book.php นั่นเอง
การแสดงผลลัพธการลบขอมูล
ขั้นตอนสุดทายของระบบลบขอมูลคือ การสรางไฟลแสดงผลการทํางาน ซึ่งจะประกอบดวยขอความ
แสดงใหผใชทราบวาการลบขอมูลเสร็จเรียบรอยแลวเทานั้น ใหสรางเว็บเพจขึ้นมาและพิมพขอความสําหรับ
ู
แสดงผลการลบขอมูล บันทึกเปนไฟล delete_ok.php

การใชงานระบบลบขอมูล
เริ่มตนโดยใชโปรแกรม Dreamweaver MX เปดไฟล show_book.php ขึ้นมา แลวกดปุม F12
โปรแกรม
การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรม Dreamweaver
่

109

Internet Explorer จะถูกเปดขึ้นมาเรียกใชงานไฟล show_book.php หลังจากนั้นใหคลิกปุม "ลบ" เพื่อลบ
ขอมูลทีละเร็คคอรด เสร็จแลวคลิกปุม ตกลง หรือ ยกเลิก เพื่อยืนยันหรือยกเลิกการลบขอมูล รอดูผลการ
ทํางานที่จะแสดงผลจากไฟล delete_ok.php

การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย

Phptraining

  • 2.
    สารบัญ การเขียนโปรแกรมออนไลนดวยภาษา PHP และMySQL บทนํา บทที่ 1 การใชงานโปรแกรม AppServ ทําความรูจักกับโปรแกรม AppServ วิธีการติดตั้งโปรแกรม AppServ วิธีการใชงาน AppServ 1 2 8 บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล การใชงานอ็อบเจ็คตของฟอรมชนิดตางๆ 9 บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP ทําความรูจักกับภาษา PHP เริ่มตนเขียนโปรแกรมดวยภาษา PHP การจัดการกับ HTML Form ชนิดของขอมูล Operators การคํานวน ประโยคคําสั่งแบบมีเงื่อนไข การจัดการเกี่ยวกับวัน และเวลา การสรางสวนเชื่อมโยงฐานขอมูล MySQL 16 17 20 22 26 29 32 38 40 บทที่ 4 การใชงานฐานขอมูล MySQL ทําความรูจักกับฐานขอมูล คําศัพทพื้นฐาน รูปแบบของฐานขอมูล ความสัมพันธ ประเภทของคีย กฎที่ใชจัดเก็บขอมูลในฐานขอมูลเชิงสัมพันธ 42 43 44 49 52 52
  • 3.
    รูจักกับฐานขอมูล MySQL คําสั่งที่ใชทํางานกับฐานขอมูล MySQL สรุปคําสั่งSQL การใชโปรแกรมจัดการฐานขอมูลดวย PhpMyAdmin 54 55 91 96 บทที่ 5 การจัดการฐานขอมูลดวยคําสังสําเร็จรูปในโปรแกรม Dreamweaver ่ การติดตอฐานขอมูล การสรางระบบแสดงผลขอมูล การสรางระบบเพิ่มขอมูล การสรางระบบแกไขขอมูล การสรางระบบลบขอมูล 105 109 112 114 120 สารบัญ(ตอ) การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL
  • 4.
    บทนํา ปจจุบันระบบคอมพิวเตอรไดเขามามีบทบาทอยางมากตอหนวยงาน หรือองคกรตางๆ ไมวาจะเปน ภาครัฐหรือภาคเอกชนเพราะระบบคอมพิวเตอรเขามาชวยในการบริหารจัดการขอมูลตางๆ ของหนวยงาน หรือ องคกร ซึ่งในปจจุบันมีขอมูลมีจํานวนมาก และการจัดการขอมูลตางๆ ยังไมเปนระบบมากนัก ทําใหเปนการยาก ตอการประมวลผลและการสืบคนขอมูล ระบบคอมพิวเตอรจึงเขามาชวยในการเพิ่มความสะดวกรวดเร็ว และ งายตอการบริหารจัดการขอมูล ไมวาจะเปนขอมูลบุคลากร ขอมูลเอกสาร หนังสือราชการ และขอมูลสารสนเทศ อื่นๆ ดังนั้นการพัฒนาความรูความสามารถในการเขียนโปรแกรมคอมพิวเตอรสําหรับบุคลากรในหนวยงาน จึง เปนสิ่งสําคัญ เพราะสามารถนําความรูที่ไดรับไปสรางหรือพัฒนาโปรแกรมในการบริหารจัดการขอมูลตางๆได อยางทันสมัยและเปนระบบ เพื่อเพิ่มความสะดวกรวดเร็วในการจัดเก็บ สืบคน ประมวลผลขอมูล และเพิ่ม ประสิทธิภาพในการทํางาน ใหเกิดประโยชนสูงสุดตอหนวยงาน การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 5.
    บทที่ การใชงานโปรแกรม AppServ 1 ทําความรูจักกับโปรแกรม AppServ AppServคือโปรแกรมที่รวบรวมเอา Open Source Software หลายๆ อยางมารวมกันโดยมี Package หลักดังนี้ - Apache - PHP - MySQL - PhpMyAdmin โปรแกรมตางๆ ที่นํามารวบรวมไวทั้งหมดนี้ ไดทําการดาวนโหลดจาก Official Release ทั้งสิ้น โดยตัว AppServ จึงใหความสําคัญวาทุกสิ่งทุกอยางจะตองใหเหมือนกับตนฉบับ จึงไมไดตดทอนหรือเพิมเติมอะไรที่ ั ่ แปลกไปกวา Official Release แตอยางใด เพียงแตมีบางสวนเทานันทีไดเพิ่มประสิทธิภาพการติดตังให ้ ่ ้ สอดคลองกับการทํางานแตละคน โดยทีการเพิ่มประสิทธิภาพนี้ไมไดไปยุง ในสวนของ Original Package เลย ่ แมแตนอยเพียงแตเปนการกําหนดคา Config เทานั้น เชน Apache ก็จะเปนในสวนของ httpd.conf, PHP ก็จะเปน ในสวนของ php.ini, MySQL ก็จะเปนในสวนของ my.ini ดังนั้นจึงรับประกันไดวาโปรแกรม AppServ สามารถ ทํางานและความเสถียรของระบบ ไดเหมือนกับ Official Release ทั้งหมด จุดประสงคหลักของการรวมรวบ Open Source Software เหลานี้เพื่อทําใหการติดตั้งโปรแกรมตางๆ ที่ ไดกลาวมาใหงายขึ้น เพื่อลดขั้นตอนการติดตั้งที่แสนจะยุงยากและใชเวลานาน โดยผูใชงานเพียงดับเบิ้ลคลิก Setup ภายในเวลา 1 นาที ทุกอยางก็ตดตั้งเสร็จสมบูรณระบบตางๆ ก็พรอมที่จะทํางานไดทันทีทั้ง Web Server, ิ Database Server เหตุผลนี้จึงเปนเหตุผลหลักที่หลายๆ คนทั่วโลก ไดเลือกใชโปรแกรม AppServ แทนการที่ จะตองมาติดตังโปรแกรมตางๆ ที่ละสวน ้ การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 6.
    บทที่ 1 การใชงานโปรแกรมAppServ 2 วิธีการติดตั้งโปรแกรม AppServ เตรียมโปรแกรมเพื่อติดตัง ้ ดาวนโหลดโปรแกรม AppServ จากเว็บไซต http://www.appservnetwork.com/ โดยเลือกเวอรชั่นที่ ตองการติดตั้งระหวางเวอรชน 2.4.x และ 2.5.x โดยความแตกตางของ 2 เวอรชั่นนี้คือ ั่ 2.4.x คือเวอรชั่นที่นํา Package ที่มีความเสถียรเปนหลัก เหมาะสําหรับผูที่ตองการความมั่นคงของ ระบบโดยไมไดมุงเนนทีจะใชฟงกชั่นใหม ่ 2.5.x คือเวอรชั่นที่นํา Package ใหมๆ นํามาใชงานโดยเฉพาะ เหมาะสําหรับนักพัฒนาที่ตองการระบบ ใหมๆหรือตองการทดสอบ ทดลองใชงานฟงกชั่นใหม ซึงอาจจะไมไดความเสถียรของระบบได 100% ่ เนื่องจากวา Package จากนักพัฒนานั้น ยังอยูในชวงของขั้นทดสอบ ทดลองเพื่อหาขอผิดพลาดอยู ขั้นตอนการติดตัง AppServ ้ 1. ดับเบิ้ลคลิกไฟล appserv-win32-x.x.x.exe เพื่อทําการติดตั้ง จะปรากฏหนาจอตามรูป การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 7.
    บทที่ 1 การใชงานโปรแกรมAppServ 3 2. เขาสูขั้นตอนเงื่อนไขการใชงานโปรแกรม โดยโปรแกรม AppServ ไดแจกจายในรูปแบบ GNU License หากผูติดตั้งอานเงื่อนไขตางๆ เสร็จสิ้นแลว หากยอมรับเงื่อนไขใหกด Next เพื่อเขาสูการติดตั้งในขั้น ตอไป แตหากวาไมยอมรับเงือนไขใหกด Cancel เพื่อออกจากการติดตั้งโปรแกรม AppServ ดังรูป ่ 3. เขาสูขั้นตอนการเลือกปลายทางที่ตองการติดตั้ง โดยคาเริ่มตนปลายทางที่ติดตั้งจะเปน C:AppServ หากตองการเปลี่ยนปลายทางที่ติดตั้ง ใหกด Browse แลวเลือกปลายทางที่ตองการ ตามรูปเมื่อเลือกปลายทาง เสร็จสิ้นใหกดปุม Next เพื่อเขาสูขั้นตอนการติดตั้งขั้นตอไป การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 8.
    บทที่ 1 การใชงานโปรแกรมAppServ 4 4. เลือก Package Components ที่ตองการติดตัง โดยคาเริ่มตนนั้นจะใหเลือกลงทุก Package แตหากวา ้ ผูใชงานตองการเลือกลงเฉพาะบาง Package ก็สามารถเลือกตามขอที่ตองการออก โดยรายละเอียดแตละ Package มีดังนี้ - Apache HTTP Server คือ โปรแกรมที่ทําหนาเปน Web Server - MySQL Database คือ โปรแกรมที่ทําหนาเปน Database Server - PHP Hypertext Preprocessor คือ โปรแกรมที่ทําหนาประมวลผลการทํางานของภาษา PHP - PhpMyAdmin คือ โปรแกรมที่ใชในการบริหารจัดการฐานขอมูล MySQL ผานเว็บไซต เมื่อทําการเลือก Package ตามรูป เรียบรอยแลว ใหกด Next เพื่อเขาสูขั้นตอนการติดตั้งตอไป การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 9.
    บทที่ 1 การใชงานโปรแกรมAppServ 5 5. กําหนดคาคอนฟกของ Apache Web Server มีอยูดวยกันทั้งหมด 3 สวน ตามรูป คือ  Server Name คือชองสําหรับปอนขอมูลชื่อ Web Server ของทานเชน localhost Admin Email คือชองสําหรับปอนขอมูล อีเมลผูดูแลระบบ เชน root@localhost HTTP Port คือชองสําหรับระบุ Port ที่จะเรียกใชงาน Apache Web Server โดยทัวไปแลว ProtocolHTTP นั้นจะมีคาหลักคือ 80 หากวาทาน ่ ตองการหลีกเลี่ยงการใช Port 80 ก็สามารถแกไขไดหากมีการ เปลี่ยนแปลง Port การเขาใชงาน Web Server แลว ทุกครั้งที่เรียกใช งานเว็บไซตจําเปนที่ตองระบุหมายเลข Port ดวย เชน หากเลือกใช  Port 99 ในการเขาเว็บไซตทุกครั้งตองใช http://localhost:99/ จึงจะสามารถเขาใชงานได การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 10.
    บทที่ 1 การใชงานโปรแกรมAppServ 6 6. กําหนดคาคอนฟกของ MySQL Database มีอยูดวยกันทังหมด 3 สวน ตามรูป คือ ้ Root Password คือชองสําหรับปอน รหัสผานการเขาใชงานฐานขอมูลของ Root หรือผูดูแลระบบทุกครั้งที่เขาใชงานฐานขอมูลในลักษณะที่เปน ผูดูแลระบบ ใหระบุ user คือ root Character Sets ใชในการกําหนดคาระบบภาษาทีใชในการจัดเก็บฐานขอมูล, ่ เรียงลําดับฐานขอมูล,Import ฐานขอมูล, Export ฐานขอมูล, ติดตอฐานขอมูล Old Password หากทานมีปญหาเกี่ยวกับการใชงาน PHP กับ MySQL API เวอร  ชั่นเกาโดยเจอ Error Client does not support authentication protocol requested by server; consider upgrading MySQL clientใหเลือกในสวนของ Old Password เพื่อหลีกเลี่ยงปญหานี้ Enable InnoDB หากทานตองการใชงานฐานขอมูลในรูปแบบ InnoDB ใหเลือก ในสวนนี้ดวย  การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 11.
    บทที่ 1 การใชงานโปรแกรมAppServ 7 7. สิ้นสุดขั้นตอนการติดตั้งโปรแกรม AppServ สําหรับขั้นตอนสุดทายนี้จะมีใหเลือกวาตองการสั่งใหมี การรัน Apache และ MySQL ทันทีหรือไม จากนั้นกดปุม Finish เพื่อเสร็จสิ้นการติดตั้งโปรแกรม AppServ  การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 12.
    บทที่ 1 การใชงานโปรแกรมAppServ 8 วิธีการใชงาน AppServ ทดสอบการใชงานเบื้องตน หลังจากติดตังโปรแกรม AppServ และเขาใจถึงโครงสราง Directory ตางๆ แลวก็สามารถเริ่มเขียน ้ โปรแกรมภาษา PHP หรือจัดทําเว็บไซตไดทันที โดยขอมูลตางๆ ที่ทําขึ้นนั้นจะตองเก็บลงใน C:/AppServ/www เชน หากทําโปรแกรมชื่อวา test.php หลังจากเขียนโปรแกรมเสร็จแลวตองการเริ่มตนทดสอบรันโปรแกรม ให ทําการเปด Browser ขึ้นมา แลวเรียกตรงไปที่ชื่อไฟลโปรแกรมที่สรางขึ้น เชน http://localhost/test.php ดังรูป การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 13.
    บทที่ การสรางและการใชงานฟอรมในการรับขอมูล 2 การใชงานอ็อบเจ็คตของฟอรมชนิดตางๆ อ็อบเจ็คต คือสวนของฟอรมที่ใชในการรับขอมูลจากผูใช กอนที่จะแทรกอ็อบเจ็คตลงบนเว็บเพจตอง มีการสรางหรือแทรกฟอรมลงในเว็บเพจกอนเสมอ หากมีการแทรกอ็อบเจ็คตลงในสวนที่ไมมฟอรม ี Dreamweaver จะถามโดยปรากฏไดอะล็อก “Add form tags?” ใหเลือก Yes เพื่อให Dreamweaver สราง แท็กฟอรมสําหรับอ็อบเจ็คตนั้น การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 14.
    บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล 10 การใชงานอ็อบเจ็คตText Field ตัวอยาง อ็อบเจ็คตชนิด Text Field จะมีหนาทีในการรับคาขอมูล เพื่อใชในการจัดเก็บขอมูลหรือสงคาบางอยาง ่ ที่ตองการคนหา เชน ใชในการคนหาขอมูล (Search Engine) เปนตน วิธีการสราง Text Field ทําไดโดยการคลิกเมนู Insert > Form > Text Field เสร็จแลวใหกําหนด คุณสมบัติของ Text Field โดยใหคลิกเลือกที่ Text Field ในเว็บเพจ หลังจากนันใหไปที่เมนู ้ Window > Properties จะปรากฏคุณสมบัติของ Text Field แสดงในไดอะล็อก Properties คุณสมบัติของอ็อบเจ็คต Text Field • TextField กําหนดชื่อของอ็อบเจ็คต Text Field • Char Width กําหนดความกวางของ Text Field • Max Chars กําหนดจํานวนตัวอักษรสูงสุดที่กรอกขอมูลไดของ Text Field • Type กําหนดชนิดของ Text Field มี 3 ลักษณะ คือ • Single Line กําหนดใหแสดงเปนแบบบรรทัด (Textarea) • Multi Line กําหนดใหแสดงเปนแบบหลายบรรทัด • Password กําหนดใหแสดงแบบรหัสผาน • Init Val กําหนดคาเริ่มตน การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 15.
    บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล 11 การใชงานอ็อบเจ็คตTextarea ตัวอยาง อ็อบเจ็คตชนิด Textarea จะมีหนาที่ในการรับคาขอมูลที่มีขนาดใหญ เชน ที่อยู เปนตน วิธีการสราง Text Field ทําไดโดยการคลิกเมนู Insert > Form > Textarea เสร็จแลวใหกําหนด คุณสมบัติของ Textarea โดยใหคลิกเลือกที่ Textarea ในเว็บเพจ หลังจากนั้นใหไปที่เมนู Window > Properties จะปรากฏคุณสมบัติของ Textarea แสดงในไดอะล็อก Properties คุณสมบัติของอ็อบเจ็คต Textarea: • TextField กําหนดชื่อของอ็อบเจ็คต Textarea • Char Width กําหนดความกวางของ Textarea • Max Chars กําหนดจํานวนตัวอักษรสูงสุดที่กรอกขอมูลไดของ Textarea • Type กําหนดชนิดของ Textarea คือ Multi Line • Init Val กําหนดคาเริ่มตน การใชงานอ็อบเจ็คต Button ตัวอยาง อ็อบเจ็คตชนิด Button มักถูกนํามาใชเพื่อทําหนาที่ในการยืนยันการเพิ่มขอมูล แกไขขอมูล การลบ ขอมูล หรือยกเลิกการใชงาน การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 16.
    บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล 12 วิธีการสรางButton ทําไดโดยการคลิกเมนู Insert > Form > Button เสร็จแลวใหกาหนดคุณสมบัติ ํ ของ Button โดยใหคลิกเลือกที่ Button ในเว็บเพจ หลังจากนั้นใหไปที่เมนู Window > Properties จะปรากฏ คุณสมบัติของ Button แสดงในไดอะล็อก Properties คุณสมบัติของอ็อบเจ็คต Button: • Button name กําหนดชื่อของอ็อบเจ็คต Button • Label กําหนดขอความที่จะแสดงบนปุม Button • Action กําหนดชนิดของ Action มี 3 ลักษณะ คือ o Submit Form กําหนดใหใชสําหรับสงฟอรมไปประมวลผล o Reset Form กําหนดใหใชสําหรับยกเลิกการกรอกขอมูลในฟอรม o None กําหนดใหเปนปุมทีคลิกแลวไมทํางานใดๆ ่ การใชงานอ็อบเจ็คต Check Box ตัวอยาง อ็อบเจ็คตชนิด Check Box ทําหนาที่เพื่อแสดงตัวเลือกใหผูใชไดเลือกตัวเลือกที่กําหนดให ซึ่งสามารถ เลือกไดมากกวา 1 ตัวเลือก วิธีการสราง Check Box ทําไดโดยการคลิกเมนู Insert > Form > Check Box เสร็จแลวใหกําหนด คุณสมบัติของ Check Box โดยใหคลิกเลือกที่ Check Box ในเว็บเพจ หลังจากนั้นใหไปที่เมนู Window > Properties จะปรากฏคุณสมบัติของ Check Box แสดงในไดอะล็อก Properties การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 17.
    บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล 13 คุณสมบัติของอ็อบเจ็คตCheck Box • CheckBox กําหนดชื่อของอ็อบเจ็คต Check Box • Checked Value กําหนดคาให Check Box • Initial State กําหนดสถานะเริ่มตนเมื่อแสดงบนเว็บเพจ มี 2 ลักษณะ คือ o Checked กําหนดใหเริ่มตนโดยใหสถานะเปนถูกเลือกไว o Unchecked กําหนดใหเริ่มตนโดยสถานะไมใหถูกเลือก การใชงานอ็อบเจ็คต Radio Button ตัวอยาง อ็อบเจ็คตชนิด Radio Button ทําหนาที่เพื่อแสดงตัวเลือกใหผูใชไดเลือกตัวเลือกทีกําหนดให ซึ่ง ่ สามารถเลือกไดเพียง 1 ตัวเลือกเทานั้น เชน การเลือกระบุเพศ ชาย หรือ หญิง จะเปนการเลือกเพศใดเพศหนึ่ง เพียงเพศเดียวเทานั้น วิธีการสราง Radio Button ทําไดโดยการคลิกเมนู Insert > Form > Radio Button เสร็จแลวให กําหนดคุณสมบัติของ Radio Button โดยใหคลิกเลือกที่ Radio Button ในเว็บเพจ หลังจากนั้นใหไปที่เมนู Window > Properties จะปรากฏคุณสมบัติของ Radio Button แสดงในไดอะล็อก Properties คุณสมบัติของอ็อบเจ็คต Radio Button • RadioButton กําหนดชื่อของอ็อบเจ็คต Radio Button หากเปนการเลือกอยางใดอยางหนึ่ง จากตัวเลือกตังแต 2 ตัวขึ้นไป จะตองกําหนดชื่อของ Radio Button ทุกตัวใหชื่อเหมือนกัน ้ มิฉะนั้น การทํางานของ Radio Button จะไมถูกตอง • Checked Value กําหนดคาให Radio Button • Initial State กําหนดสถานะเริ่มตนเมื่อแสดงบนเว็บเพจ มี 2 ลักษณะ คือ • Checked กําหนดใหเริ่มตนโดยใหสถานะเปนถูกเลือกไว • Unchecked กําหนดใหเริ่มตนโดยสถานะไมใหถูกเลือก การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 18.
    บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล 14 การใชงานอ็อบเจ็คตList/Menu ตัวอยาง อ็อบเจ็คตชนิด List/Menu ทําหนาที่เพื่อกําหนดคาโดยทีใชไมตองพิมพตัวเลือกที่ตองการลงไป เพียง ่ แคคลิกเลือกรายการตางๆ ทีไดกําหนดไวใหแลวเทานั้น สามารถเลือกไดเพียง 1 ตัวเทานั้น ่ วิธีการสราง List/Menu ทําไดโดยการคลิกเมนู Insert > Form > List/Menu เสร็จแลวใหกําหนด คุณสมบัติของ List/Menu โดยใหคลิกเลือกที่ List/Menu ในเว็บเพจ หลังจากนันใหไปที่เมนู ้ Window > Properties จะปรากฏคุณสมบัติของ List/Menu แสดงในไดอะล็อก Properties คุณสมบัติของอ็อบเจ็คต List/Menu • List/Menu กําหนดชื่อของอ็อบเจ็คต List/Menu • Type เลือกการทํางานเปนแบบ Menu หรือ List • Initially Selected แสดงคาตัวเลือกที่กําหนดมาจาก List Values การใชงานอ็อบเจ็คต File Field ตัวอยาง อ็อบเจ็คตชนิด File Field นี้ ทําหนาที่ในการแสดงรายชือไฟลตางๆ เพื่อใหผูใชเว็บไซตสามารถเลือก ่ ไฟลเหลานั้นขึนมาใชงาน เชน การอัปโหลดไฟล เปนตน ้ วิธีการสราง File Field ทําไดโดยการคลิกเมนู Insert > Form > File Field เสร็จแลวใหกําหนด คุณสมบัติของ File Field โดยใหคลิกเลือกที่ File Field ในเว็บเพจ หลังจากนันใหไปที่เมนู ้ Window > Properties จะปรากฏคุณสมบัติของ File Field แสดงในไดอะล็อก Properties การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 19.
    บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล 15 คุณสมบัติของอ็อบเจ็คตFile Field • FileField กําหนดชื่อของอ็อบเจ็คต File Field • Char Width กําหนดความกวางของ File Field • Max Chars กําหนดจํานวนตัวอักษรสูงสุด การใชงานอ็อบเจ็คต Hidden Field อ็อบเจ็คตชนิด Hidden Field นี้ จะทํางานในลักษณะลองหน กลาวคือ มีจุดประสงคเพื่อใชในการ ประมวลผลขอมูล ที่ไดรับจากการใชงานฟอรมตางๆ ซึ่งฟลดแบบ Hidden Field นี้ จะไมมการติดตอสื่อสารกับ ี ผูใชงานฟอรม แตอยางใด รวมทั้งไมมีการแสดงผลบนหนาเว็บเพจดวย วิธีการสราง Hidden Field ทําไดโดยการคลิกเมนู Insert > Form > Hidden Field เสร็จแลวให กําหนดคุณสมบัติของ Hidden Field โดยใหคลิกเลือกที่ Hidden Field ในเว็บเพจ หลังจากนั้นใหไปที่เมนู Window > Properties จะปรากฏคุณสมบัติของ Hidden Field แสดงในไดอะล็อก Hidden Field คุณสมบัติของอ็อบเจ็คต Hidden Field • HiddenField กําหนดชื่อของอ็อบเจ็คต Hidden Field • Value กําหนดคาเริ่มตนสําหรับ Hidden Field การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 20.
    บทที่ การเขียนโปรแกรมดวยภาษา PHP 3 ทําความรูจักกับภาษา PHP ภาษาPHP ถูกสรางขึ้นในป ค.ศ. 1994 โดย Rasmus Lerdorf ตอมา มีผูใหความสนใจเปนจํานวนมาก จึงไดออกเปนแพ็คเกจ “Personal Home Page” ซึ่งเปนที่มาของ PHP เปน Server Side Script และเปน Open Source ที่ผูใชสามารถดาวนโหลด และโปรแกรมไดฟรี ภาษา PHP จะทํางานรวมกับเอกสาร HTML โดยการแทรกโคดระหวาง Tag HTML และสรางไฟลที่มี นามสกุลเปน .php .php3 หรือ .php4 ซึ่งไวยากรณทใชในภาษา PHP เปนการนํารูปแบบของภาษาตางๆ มา ี่ รวมกันไดแก C, Perl และ Java ท่ําใหผูที่มีพื้นฐานของภาษาเหลานี้อยูแลวสามารถศึกษา และใชงานภาษา PHP ไดไมยาก ความสามารถของภาษา PHP • เปน Open Source • สามารถติดตั้งบน Win 32 หรือ Linux/Unix ก็ได • เขียนงายเพราะนําเอา Perl และ C มาพัฒนา ผูที่เขียน Perl หรือ C อยูแลวก็สามารถศึกษาไดงาย • ความสามารถพิเศษดานติดตอฐานขอมูล Database • มี Function สําเร็จรูปมาให จากที่เคยเขียนคําสั่งมากมายใน Perl, C • เปน Scripting language ที่สามารถแทรกเปน Script tag ตามจุดตางๆภายใน html tag ได การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 21.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 17 เริ่มตนเขียนโปรแกรมดวยภาษา PHP เมื่อทําการติดตั้งชุดติดตั้งโปรแกรม PHP แอพพลิเคชั่นเซิรฟเวอรเรียบรอยแลว ไฟลของ PHP ที่สราง ขึ้นจะตองเก็บไวที่ Root Directory เชน AppServ จะอยูที่ c:/AppServ/www/ การแทรก Script PHP ใน HTML รูปแบบการใชคําสั่ง PHP จะแตกตางจาก CGI ตัวอื่นๆ เชน Perl หรือ C เพราะวา PHP ยอมใหเรา สอดแทรก คําสั่งตางๆ ลงใน File html ไดเลย โดยสามารถแทรกเปนระยะๆได และแปลงนามสกุล File html จาก *.html เปน *.php รูปแบบการแทรกคําสั่งดังกลาวจะคลายคลึงกับ java script หรือ ASP ตัวอยางการแทรก script php เชน <HTML> <HEAD><TITLE>การทดสอบการแทรก script php</TITLE></HEAD> <BODY> <H1><? echo "This is test script PHP" ?></H1> </BODY> </HTML> ผลลัพธที่ได This is test script PHP เนื่องจาก PHP เปนภาษาที่พัฒนาภายหลังภาษาอืนๆ จึงพยายามเอาจุดเดนของแตละภาษามาพัฒนา ่ ปรับปรุงใชใน PHP ดังนั้น PHP จึงมีความยืดยุนสูงสามารถใชรูปแบบการแทรกคําสัง ไดหลายแบบ เชน  ่ การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 22.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 18 SGML Style <? echo ("This is the PHP Commandn"); ?> XML Style <?php echo("This is the PHP Commandn"); ?> Java Script Style <script language="php"> echo ("This is the PHP Command"n); </script> ASP Style <% echo ("This is the PHP Command"n); %> จากตัวอยางการแทรก Script PHP ดวยรูปแบบตางๆขางตน จะเห็นไดวาใชไดหลายรูปแบบดังนั้น ใครเคย ใชรูปแบบใดมากอนก็เลือกใชในรูปแบบที่ตนถนัดไดเลย ทดสอบการเขียน PHP โปรแกรมแรก ที่นี้เรามาทดสอบการเขียน PHP โปรแกรมแรกกันขอใหดูจากตัวอยาง (ขอใชการแทรก script แบบ SGML Style ซึ่งเปนที่นิยมกัน) ตัวอยางการเขียน Script PHP การเขียน Script PHP แบบ C Programing และ Perl Programing <HTML> <HEAD><TITLE>การทดสอบการแทรก script php</TITLE></HEAD> <BODY> การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 23.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 19 //By C style <? echo "<font color=red>CGI PHP is easy by C style </font><br>n" ?> //By Perl style <? print "<font color=blue>CGI PHP is easy by Perl style</font>" ?> </BODY> </HTML> ผลลัพธที่ได CGI PHP is easy by C style CGI PHP is easy by C style จะเห็นไดวาใชคําสั่ง print ของ Perl หรือ echo ของ C ก็ใชได ดังนันถาคุณถนัดเขียนไมวาจะเปน Perl ้ หรือ C ก็สามารถเขียน PHP ไดอยางสบาย Comments การเขียนโปรแกรมที่มีความยาวมาก มีขอมูลคําสั่งเปนพันๆบรรทัด Programmer ไมสามารถจําคําสั่ง  การทํางานของ Programe ไดทุกบรรทัด ดังนั้นจําเปนตองมีการ Comments เตือนความจําในบรรทัดที่ตองการ และยังเปนประโยชนสําหรับ Programmer คนอื่นที่จะเขามาแกไขดวย PHP มีไดรูปแบบการ Comments ไวให เราเลือกใชตามความถนัดหลายรูปแบบ ผูใชสามารถเลือกเอาแบบที่ตนเองถนัดไดดังตอไปนี้ ตัวอยางการแทรก Comments <? echo "Hi Hello Word"; echo "Hi Hello Word"; echo "Hi Hello Word"; ?> // การ Comments แบบ C++ /* การ Comments แบบ C */ # การ Comments แบบ Perl การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 24.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 20 การจัดการกับ HTML Form จากที่ผานมาเราไดทดสอบเขียน PHP กันแลว แตเขียนในรูปของ ภาษา PHP อยางเดียว ยังมิไดเขียน รวมกับ HTML Form ซึ่งนับวาเปนหัวใจสําคัญของ CGI (Command Gate Way Interface) กอนเริ่มเขียน ขอ แนะนําใหผูที่ยังไมเคยเขียนหรือไมเขาใจเกี่ยวคําสั่ง Form ของ html ตองกลับไปทบทวนเขียนใหคลองเสียกอน เพราะถือวา Form เปนประตูดานแรกที่จะนําเราเขาสู CGI (Command Gate Way Interface) และเชือมตอ PHP ่ เรามาเริ่มกันเลย ตัวอยาง file html order.html <html> <head><title>ShoppingForm สั่งซื้อสินคา</title> </head> <body> <center><h1>Form สั่งซื้อสินคา</h1><center> <form method="POST" action="order.php"> Name <input type="text" name="name"><br> Email<input type="text" name="email"><p> ตองการสั่งซื้อหนังสือ <input type="checkbox" name="book1" value="Database On Web">Database On Web<br> <input type="checkbox" name="book2" value="CGI PHP">CGI PHP<br> <input type="submit" value="Order Now"><input type="reset" value="Reset"> </form> </body> </html> การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 25.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 21 ตัวอยาง file php order.php <html> <head><title>Form สั่งซื้อสินคา</title> </head> <? print "คุณ $name <br> "; print "Email $email <br>"; print "สินคาที่คุณตองการสั่ง <br>"; print "$book1<br>"; print "$book2<br>"; ?> </body> </html> ทดลอง Run การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 26.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 22 ผลลัพธ คําอธิบาย ใน file order.html เราไดกําหนดตัวแปรไว ดังนี้ $name = ชื่อผูสั่งสินคา $email = email ของผูสั่งสินคา $book1= สินคาหนังสือ Database On Web $book2= สินคาหนังสือ CGI PHP ใน file order.php ไดกําหนดตัวแปรเชนเดียวกับ order.html เมื่อ order.html สงตัวแปรทั้งหมดที่ถูกเลือกและถูกใสขอมูลลงไป จากนั้น order.php ก็จะรับคาตัวแปร และแสดงผลออกทางจอภาพ ชนิดของขอมูล ในการพัฒนาโปรแกรม ขอมูลมีสวนเกียวของเปนอยางมาก และในขณะเดียวกันขอมูลก็มีมากมาย ่ หลายประเภท การจัดจําพวกของขอมูลใหอยูในชนิดเดียวกันจะทําใหสะดวกแกการใชงาน PHP ก็เชนกันได จัดแบงชนิดของขอมูลไวดังนี้ ชนิดของขอมูล PHP • integer • floating-point numbers • string • array • object การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 27.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 23 1. Integer จํานวนเต็ม ตัวอยาง Integer ไดแก $a = 1234; # decimal number $a = -123; # a negative number $a = 0123; # octal number (equivalent to 83 decimal) $a = 0x12; # hexadecimal number (equivalent to 18 decimal) 2. floating-point numbers เลขทศนิยม ตัวอยาง floating-point numbers ไดแก $a = 1.234; $a = 1.2e3; 3. String ตัวอักษร ตัวอักษร กลุมคําหรือชุดตัวอักษร ใน PHP เราจะใชเครื่องหมายฟนหนู (") ครอมไวหัวทายของชุด ตัวอักษร ในลักษณะเดียวกับ Perl และ C และใชเครืองหมาย backslash () เปนตัวควบคุม ตัวอยาง ่ ไดแก n หมายถึง newline r หมายถึง carriage t หมายถึง horizontal tab หมายถึง backslash $ หมายถึง dollar sign " หมายถึง double-quote 4. Array ชุดของขอมูล เปนการเก็บขอมูลเปนชุด เปนแถว หรือกลุมของขอมูล เชน เดือนก็ จะประกอบไปดวย มกราคม กุมภาพันธ มีนาคม .... เปนตน PHP ไดแบบ Array เปน 2 แบบคือ แบบมิติเดียว เชน $day[1]="Monday"; $day[2]="Tuesday"; การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 28.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 24 $day[3]="Wednesday"; $day[4]="Thursday"; $day[5]="Friday"; $day[6]="Saturday"; $day[7]="Sunday"; ตัวอยาง Array มิติเดียว $day[1]="Monday"; $day[2]="Tuesday"; $day[3]="Wednesday"; $day[4]="Thursday"; $day[5]="Friday"; $day[6]="Saturday"; $day[7]="Sunday"; echo "$day[1] <br>"; echo "$day[2] <br>"; echo "$day[3] <br>"; ใหแสดงผลของตัวแปร $day[1] และ $day[2] และ $day[3] โดยเวนบรรทัด ผลลัพธ ที่ได Monday Tuesday Wednesday แบบหลายมิติ เชน $a[0][0]=5; $a[0][1]=3 การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 29.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 25 ตัวอยาง Array หลายมิติ <? $a = array( "toyota" => array( "color" => "red", "type" => "colora" ), "nissan" => array( "color" => "orange", "type" => "sunny" ), "masda" => array( "color" => "yellow", "type" => "323" ) ); echo $a["toyota"]["type"]; # will output "colola" ?> ใหแสดงผล output ของรถยนตยี่หอ toyota และรุนออกมา  ผลลัพธที่ได colora ถาเราเปลี่ยนจาก echo $a["toyota"]["type"]; เปน echo $a["toyota"]["color"]; การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 30.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 26 ก็จะไดผลลัพท red 5. Object วัตถุ เชน class foo { function do_foo () { echo "Doing foo."; } } $bar = new foo; $bar -> do_foo (); ผลลัพธที่ได Doing foo Operators PHP สามารถใช Operator รวมในการพัฒนาโปรแกรมได คุณสมบัติและการใชงาน Operator จะ แตกตางกันตามชนิดของ Operator โดย PHP ไดจัดแบง Operator ไวดงนี้ ั ชนิดของ Operator • Arithmetic Operators • String Operators • Assignment Operators การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 31.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP • • • • 27 Bitwise Operators Logical Operators Comparison Operators Operator Precedence 1. Arithmetic Operators การคํานวน เกี่ยวกับการคํานวนใน PHP ไดกําหนดเครืองหมายตางๆแทนสัญลักษณการคํานวนดังนี้ ่ ตัวอยาง $a + $b $a - $b $a * $b $a / $b $a %$b ชื่อ Operator การบวก การลบ การคูณ การหาร Modulus ความหมาย ผลบวกระหวาง $a กับ $b ผลลบของ $a ลบ $b ผลคูณระหวาง $a กับ $b ผลหารของ $a หาร $b ผลหารของ $a หาร $b โดยปดเปนจํานวนเต็ม 2. String Operators เกี่ยวกับตัวอักษรก็เชนกัน PHPไดกําหนดไวดังนี้ $a = "Hello "; $b = $a . "World!"; // now $b = "Hello World!" ผลลัพธ string ไมสามารถนํามาคูณหรือคํานวนกันได แต PHP ไดแปลงสภาพให string คํานวนไดในความหมายของการนําขอความมาเรียงตอกัน ("."คือการนําขอความมาตอกัน) จึง ไดคําวา Hello World! เพราะการกระทําของ $a ."Word" จึงไดขอความตอกัน (มิไชการคูณ ดวยตัวอักษร) การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 32.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 28 3. Assignment Operators PHP สามารถกําหนดคา Assignment หรือเปลี่ยนแปลงคาใหกับตัวแปรได โดยใช Assignment Operator ตามตัวอยางตอไปนี้ $a = 1 $a += 1; $a --; $a *=2; $a /=2; // มีคาเหมือนกับ $a=$a + 1; ผลลัพธ = 2 // มีคาเหมือนกับ $a=$a - 1; ผลลัพธ = 0 // มีคาเหมือนกับ $a=$a * 2; ผลลัพธ = 2 // มีคาเหมือนกับ $a=$a / 2; ผลลัพธ = 0.5 4. Bitwise Operatorst การเปรียบเทียบและการคํานวนตัวเลขในระดับบิต Operator $a & $b $a | $b ~$a $a << $b $a >> $b Name And Or Not Shift left Shift right 5. Logical Operators การเปรียบเทียบเพื่อสรางเงื่อนไขสําหรับตัวแปร 2 ตัว Operator $a and $b $a or $b !$a $a && $b $a || $b Name And Or Not And Or การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 33.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 29 6. Comparison Operators การเปรียบเทียบตัวเลข หรือตัวแปร 2 ตัว Operator $a == $b $a != $b $a < $b $a > $b $a <= $b $a >= $b Name Equal Not equal Less than Greater than Less than or equal to Greater than or equal to การคํานวน สําหรับการคํานวนแลว PHP ไดเตรียม Operator ที่ใชงานเกี่ยวกับการคํานวนมาใหแลว คือ Arithmetic Operators ดังไดกลาวไปแลว ทีนี้เราจะมาทดสอบการเขียนโปรแกรม PHP สําหรับการคํานวนกัน อันแรกคือ การบวก การบวก ตัวอยางการบวก <HTML> <HEAD><TITLE>ตัวอยางการคํานวน</TITLE></HEAD> <BODY> <? $a=30; $b=10; $c=$a + $b; echo "<H1>$c</H1>"; ?> </BODY> </HTML> การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 34.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 30 ผลลัพธที่ได 30 การลบ ตัวอยางการลบ <HTML> <HEAD><TITLE>ตัวอยางการคํานวน</TITLE></HEAD> <BODY> <? $a=30; $b=10; $c=$a - $b; echo "<H1>$c</H1>"; ?> </BODY> </HTML> ผลลัพธที่ได 20 การคูณ ตัวอยางการคูณ <HTML> <HEAD><TITLE>ตัวอยางการคํานวน</TITLE></HEAD> <BODY> <? $a=30; $b=10; $c=$a * $b; echo "<H1>$c</H1>"; ?> </BODY> </HTML> การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 35.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 31 ผลลัพธที่ได 300 การหาร ตัวอยางการหาร <HTML> <HEAD><TITLE>ตัวอยางการคํานวน</TITLE></HEAD> <BODY> <? $a=30; $b=10; $c=$a / $b; echo "<H1>$c</H1>"; ?> </BODY> ผลลัพธที่ได 3 การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 36.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 32 การคํานวนโดยใชเครื่องหมายวงเล็บ ตัวอยาง <HTML> <HEAD><TITLE>ตัวอยางการคํานวน</TITLE></HEAD> <BODY> <? $a=30; $b=10; $c=20; $d=($a * $b)/$c; echo "<H1>$d</H1>"; ?> </BODY> </HTML> ผลลัพธที่ได 15 ประโยคคําสั่งแบบมีเงื่อนไข จากบทที่ผานมาเราไดศึกษาถึง Operator การใชงาน Operator ตัวแปรชนิดของตัวแปรตางๆ ตลอดจน คําสั่งพื้นฐานการ Display หรือ Output Process ของ Program (echo หรือ print) มาในบทนี้เราจะนํา Control Structures มาควบคุม Operator ตัวแปร และ คําสั่ง ใหเปนไปตามความตองการที่เราไดออกแบบโปรแกรมไว สําหรับคนที่เคยเขียน Program ภาษาใดภาษาหนึ่งมาแลว จะสามารถเขาใจในบทเรียนนี้โดยงาย หลักการการ ควบคุม Control Structures นั้น โดยทัวไปทุกภาษาจะเหมือนกัน หรือที่เราเรียกวา Logic แตจะแตกตางกันที่ ่ รายละเอียดของคําสั่ง ดังนั้นถาจะศึกษาการเขียนโปรแกรมใหเขาใจงาย ขอใหอยาพยายามจําคําสั่ง แตขอใหจํา โครงสรางคําสั่งจะดีกวา เมื่อเราขยับไปศึกษาการเขียนโปรแกรมอืนๆ ก็จะเขาใจไดโดยงาย ่ การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 37.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 33 คําสั่ง Control Structures แรกที่เราจะศึกษากันก็คือ IF ดังตอไปนี้ IF คําสั่ง if เปนคําสั่งสําหรับสรางเงื่อนไขการทํางานของโปรแกรมวา ถาเปนจริงก็จะใหทํางาน งานหนึ่ง ถาเปนเท็จก็จะใหทางานอีกงานหนึ่ง ดังแผนภาพ ํ รูปแบบคําสัง ่ if ( เหตุการณ Operator เหตุการณ ){งานที่จะตองทํา} ตัวอยางคําสัง ่ <? $a=500 if ( $a == 500 ){print"<h1>ตัวแปรตัวนี้เทากับ 500</h1>";} ?> ผลลัพธ ตัวแปรตัวนี้เทากับ 500 การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 38.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 34 IF ELSE เปนคําสั่ง if เหมือนเดิม แตเพิ่มสถานการณวา ถามีเหตุการณเปนเท็จเกิดขึ้นจะใหทางานอะไร ํ ดังแผนภาพ รูปแบบคําสัง ่ if ( เหตุการณ Operator เหตุการณ ){งานที่จะตองทํา} else {งานที่จะตองทํา} ตัวอยางคําสัง ่ <? $a=600 if ( $a == 500 ) { print"<h1>ตัวแปรตัวนีเ้ ทากับ 500</h1>"; } else { print"<h1>ตัวแปรตัวนีเ้ ทากับไมเทากับ500</h1>"; } ?> ผลลัพธ ตัวแปรตัวนี้ไมเทากับ 500 คําอธิบาย กําหนดให $a มีคาเทากับ 600 คําสั่งสรางเงื่อนไขวา ถา $a เทา 500 ใหพิมพคําวา "ตัวแปรตัวนี้ เทากับ 500 ขนาดตัวอักษรเทากับ H1" การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 39.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 35 ถาไมเทากับ 500 ใหพิมพคําวา "ตัวแปรตัวนี้ไมเทากับ 500 ขนาดตัวอักษรเทากับ H1" ELSE IF คําสั่ง elseif เปนคําสั่งสําหรับสรางเงื่อนไขการทํางานของโปรแกรมวา ถาเหตุการณแรกเปน จริง ก็จะใหทํางานตามที่กําหนดไว แตถาไมเปนจริงใหเขาสูสถานการณที่ 2 ที่เตรียมไว ถาเปนจริงก็ให ทํางานตามที่กาหนดแตถาไมเปนจริงก็ใหทางานตามที่กําหนดไวถัดไปใหดจากภาพจะเขาใจมากยิ่งขึ้น ํ ํ ู รูปแบบคําสัง ่ if ( เหตุการณ Operator เหตุการณ ) { งานที่จะตองทํา } else if ( เหตุการณ Operator เหตุการณ ) {งานที่จะตองทํา} else {งานที่จะตองทํา} ตัวอยางคําสัง ่ <? $a = 20 $b = 30 if ($a > $b) { print "a is bigger than b"; } elseif ($a == $b) { print "a is equal to b"; } else { print "a is smaller than b";} ?> การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 40.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 36 ผลลัพธ a is smaller than b คําอธิบาย กําหนดให $a มีคาเทากับ 20 กําหนดให $b มีคาเทากับ 30 คําสั่งสรางเงื่อนไขวา ถา $a มากกวา $b ใหพิมพคําวา "a is bigger than b" แตถาไมพบวา $a มากกวา $b ก็จะเขาสูสถานการณถัดไป ถา $a เทากับ $b ใหพิมพวา "a is equal to b" แตถา $a ไมเทา $b ใหพิมพวา "a is smaller than b"  ่ ประโยคคําสังแบบวนรอบ WHILE คําสั่ง while เปนคําสั่งสรางเงื่อนไขใหทํางานวนรอบซ่ําๆกัน จนกวาตัวแปรที่กําหนดจะมีคา ครบตามเงื่อนไข while จะนําเอาเรื่องของการกําหนดคาใหกับตัวแปรหรือ Assignment Operators เขา มาเกี่ยวของดวย ถายังจํากันได การ Assignment คาใหกบ Operators ก็คือการสรางเงื่อนไขและ ั กําหนดคาใหกับตัวแปรเปนคาตางๆ จนครบที่กําหนด ถาจะพูดใหเห็นชัดลองนึกถึงการนับเลข หรือ การใหคะแนน ถาถูกตอง จะมีคาเทากับ 1 และเพิ่มคาให 1 คะแนน การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 41.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 37 ตัวอยางคําสัง ่ <? $i = 1; while ($i <= 10) { print $i++; } ?> ผลลัพธ 12345678910 คําอธิบาย กําหนดให $a มีคาเทากับ 1 จากนั้นสรางเงือนไขวาให $a มีคานอยกวาเทากับ10 ลงมา ่ และใหพิมพคา $a คือ 1 – 10  FOR คําสั่ง for เปนคําสั่งสรางเงื่อนไขใหทํางานวนรอบซ่ําๆกัน จนกวาตัวแปรที่กําหนดจะมีคา ครบตามเงื่อนไข เชนเดียวกับ while โดยจะนําเอาเรื่องของการกําหนดคาใหกับตัวแปรหรือ Assignment Operators เขามาเกี่ยวของดวย ถายังจํากันได การ Assignment คาใหกบ Operators ก็คือการสราง ั เงื่อนไขและกําหนดคาใหกบตัวแปรเปนคาตางๆ จนครบที่กําหนด ั รูปแบบคําสัง ่ for ( สถานการณ1 ; สถานการณ 2 ; สถานการณ 3; ){ งานที่จะตองทํา} การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 42.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 38 ตัวอยางคําสัง ่ <? for ($i = 1; $i <= 6; $i++) { print "<h$i>Hi hello</h$i><br>"; } ?> ผลลัพธ Hi hello Hi hello Hi hello Hi hello Hi hello Hi hello คําอธิบาย กําหนดให $i มีคาเทากับ 1 จากนั้นสรางเงือนไขวาให $a มีคานอยกวาเทากับ 6 ลงมา ่ และพิมพเพิ่มคา $i ที 1 ตั้งแต 6 จนถึง 1 ใหพิมพคําวา Hi hello ขนาดตัวอักษร ตั้งแต 6 จนถึง 1 โดยเวนบรรทัด การจัดการเกี่ยวกับวัน และเวลา ฟงกชนเกี่ยวกับวัน date() ั ซึ่งใชสําหรับแสดงคาวันของเซิรฟเวอรตามที่ตั้งไว และแสดงตามรูปแบบที่กําหนด โดยคาที่ จะผานใหกับฟงกชนนี้ มี 2 คา ตามรูปแบบที่เรียกใชดังนี้ ั date (format,[timestamp]); การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 43.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 39 format เปนขอมูลชนิดขอความ หมายถึงรูปแบบการแสดงผลที่ตองการ timestamp เปนขอมูลชนิดวันและเวลา ซึ่งจะระบุหรือไมก็ได คาผลลัพธที่คืนออกมาจากฟงกชันนี้ จึงเปนขอความแสดงวัน ตามรูปแบบที่กําหนดของ format ตัวอยางเชน date (d m Y); จะไดผลลัพธเปน 25 10 2006 รูปแบบการแสดงผลวัน คาที่กําหนด d j D l F M m w y Y z ผลลัพท วันที่แสดงเปนตัวเลข 2 หลัก วันที่แสดงคาโดยไมตองมี 0 นําหนา วันในสัปดาห แสดงตัวยอ 3 ตัวอักษร วันสัปดาหแสดงคาครบตามชื่อ เดือนแสดงครบตามชื่อ เดือนแสดงตัวยอ 3 ตัวอักษร เดือนแสดงเปนตัวเลข วันในสัปดาหโดยแสดงเปนตัวเลข ป ค.ศ. แสดงเปนตัวเลข 2 หลัก ป ค.ศ. แสดงเปนตัวเลข 4 หลัก คาวันในรอบป มีคา 1 - 365 ฟงกชันเกี่ยวกับเวลา strftime() strftime("format"); การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 44.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 40 เชน strftime("%H:%M:%S"); จะไดผลลัพธเปน 15:24:24 รูปแบบการแสดงผลเวลา คาที่กําหนด %H %I %M %S ผลลัพท แสดงชั่วโมงแบบ 24 ชั่วโมง มีคาตั้งแต 00 - 23 แสดงชั่วโมงแบบ 12 ชั่วโมง มีคาตั้งแต 01 - 12 แสดงนาที แสดงวินาที การสรางสวนเชื่อมโยงฐานขอมูล MySQL MySQL เปนระบบจัดการฐานขอมูลที่ประกอบดวยระบบจัดการฐานขอมูล ซึ่งเปนโปรแกรมขนาดเล็ก แตมีความสามารถสูง สําหรับการติดตอฐานขอมูล MySQL ดวย PHP นั้นมีฟงกชนในการติดตอดังนี้ ั mysql_connect ([hostname(port)[:/path to socket]],[username],[password]); โดยที่ hostname หมายถึง ชื่อของ host ที่ MySQL กําลังทํางาน อาจหมายถึงชือเครื่อง หรือหมายเลข ่ IP address username หมายถึง ชื่อผูใชที่กําหนดไวในการติดตอกับฐานขอมูล MySQL password หมายถึง รหัสผานที่ใชรวมกับ username หลังจากที่ผูใชติดตอกับฐานขอมูล และทํางานเรียบรอยแลว ตองปดการติดตอกับฐานขอมูลดวยทุกครั้ง โดยใชคําสั่ง mysql_close() เพื่อลดการ overhead การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 45.
    บทที่ 3 การเขียนโปรแกรมดวยภาษาPHP 41 การเรียกใชฐานขอมูล MySQL คําสั่งใน MySQL ที่ใชเรียกฐานขอมูลมาใชงานดังนี้ Mysql_select_db(“ชื่อฐานขอมูล”); การจัดการกับขอมูลในฐานขอมูล การใชคิวรี่ฐานขอมูล เชน เพิ่ม ลบ และแกไข ทําไดโดยเรียกใชฟงกชัน mysql_query() มีรูปแบบดังนี้ mysql_query(query,[database_connect]); โดยที่ query หมายถึง คิวรี่ที่เรียกใชฐานขอมูล database_connect หมายถึง ตัวแปรที่ใชเชือมตอกับฐานขอมูล จะกําหนดหรือไมก็ได ่ ตัวอยาง $query = “select * from book where id = 5”; $result = mysql_query($query); การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 46.
    บทที่ การใชงานฐานขอมูล MySQL 4 ทําความรูจักกับฐานขอมูล ฐานขอมูล คือกลุมของขอมูลที่มีความสัมพันธกัน โดยอาจถูกจัดเก็บอยูในแฟมเดียวกัน หรือหลาย แฟมแตจะตองมีการเชื่อมโยงความสัมพันธถึงกัน และสามารถอธิบายความสัมพันธเหลานั้นได ขอมูลที่ถูก จัดเก็บรวมกันเปนฐานขอมูลจะเปนขอมูลที่ไมมีความซ้ําซอน ซึ่งตองผานกระบวนการตาง ๆ ที่ใชในการ จัดการกับขอมูลกอนที่จะนํามารวมกันเปนฐานขอมูล เชน การควบคุมความถูกตองใหกับขอมูล (Data Integrity) การจัดการกับขอมูล ( Data Manipulate ) และการแกไขปญหาความซ้ําซอนของขอมูลดวยการทํา Normalization เปนตน นอกจากนั้นระบบจัดการฐานขอมูลโดยทั่วไปจะสามารถจํากัดสิทธิ์การใชงานของ ผูใชได ( Data Security ) ทําใหนยมนําฐานขอมูลมาใชงานกันอยางแพรหลายในปจจุบัน โดยสามารถสรุป ิ ประโยชน และความสําคัญของการใชงานฐานขอมูลไดดังนี้ • ลดความซ้ําซอนของขอมูล ( Data Redundancy ) คือ บางครั้งการจัดเก็บขอมูลในรูปแบบของ แฟมขอมูลอาจจะมีขอมูลชุดเดียวกันอยูใน 2 แฟมขอมูลหรือมากกวา เชน ขอมูลของพนักงาน  ขายที่ชื่อ “ เขมรินทร” ถูกจัดเก็บอยูในแฟมขอมูลพนักงาน ( EMPLOYEE ) ของฝายพนักงาน  และแฟมขอมูลพนักงนขาย ( SALESMAN ) ของฝายการตลาดทั้ง ๆ ที่เปนขอมูลของคนคน เดียวกัน เนื่องจากพนักงานขายก็ถือวาเปนพนักงานคนหนึ่งของบริษัท การจัดเก็บในลักษณะ ดังกลาวจะทําใหสิ้นเปลืองเนื้อที่ ถานําระบบฐานขอมูลมาใชก็จะสามารถแกปญหาความซ้ําซอนนี้ ได • แกปญหาขอมูลไมสอดคลองกัน ( Data Inconsistency ) ปญหานี้เกิดจากความซ้ําซอนของขอมูล คือ การเก็บขอมูลพนักงานไว 2 แฟมขอมูลหรือมากกวา ถาตองมีการเปลี่ยนแปลงขอมูล เชน เปลี่ยนชื่อของพนักงาน แกไขอัตราเงินเดือน หรือเปลี่ยนแปลงเบอรโทรศัพท เปนตน การ เปลี่ยนแปลงเหลานี้เกิดขึนแลวจะกระทบกับทุก ๆ แฟมที่มีขอมูลอยู ซึ่งอาจทําใหเกิดความ ้ ผิดพลาดขึ้นได และความผิดพลาดนี้เองจะสงผลใหขอมูลที่ไดไมตรงกัน เชน เปลี่ยนแปลงขอมูล จากแฟมขอมูลพนักงาน (EMPLOYEE) แตลืมเปลี่ยนแปลงขอมูลจากแฟมพนักงานขาย (SALESMAN ) เปนตน การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 47.
    บทที่ 4 การใชงานฐานขอมูลMySQL 43 • การใชขอมูลรวมกัน ( Data Sharing ) แตละหนวยงานในองคกรสามารถใชขอมูลรวมกันได คือ ถามีการเก็บขอมูลรวมกันเปนระบบฐานขอมูล จะทําใหทุกหนวยงานสามารถใชขอมูลเดียวกัน ทั้งหมด แตถาขอมูลไมไดอยูในรูปแบบของฐานขอมูลแลว การใชขอมูลของหนวยงานตาง ๆ จะ  แยกออกจากกัน • สามารถกําหนดการรักษาความปลอดภัยของขอมูล ( Data Security ) ไดเพราะระบบฐานขอมูลมี ตัวชวยในการจัดการกับขอมูลที่เรียกวา “ระบบจัดการฐานขอมูล” หรือ “DBMS” ( Data Base Management System ) ซึ่งสามารถตรวจสอบคําสั่งในการเขาใชงานขอมูล และตรวจสอบสิทธิ์ใน การเขาใชฐานขอมูลได • สามารถรักษาความถูกตองของขอมูล ( Data Validity ) ไดโดยระบุกฎเกณฑในการควบคุมความ ผิดพลาดที่อาจเกิดขึ้นไดจากการปอนขอมูลผิด • ทําใหขอมูลเปนอิสระจากโปรแกรมที่ใชงานขอมูลนั้น ( Data Independence ) สงผลให ผูพัฒนาโปรแกรมสามารถแกไขโครงสรางของขอมูล โดยไมกระทบตอโปรแกรมที่เรียกใชงาน ขอมูลนั้น เชน ในกรณีที่ตองการเปลี่ยนขนาดของ Field ถาเปนระบบแฟมขอมูลจะตอง  เปลี่ยนแปลงตัวโปรแกรมทีอางถึง Field นั้นทั้งหมด ซึ่งตางจากการใชงานระบบฐานขอมูล ที่ ่ การอางถึงขอมูลจะไมขึ้นอยูกับโครงสรางทางกายภาพของขอมูล จึงไมสงผลใหตองแกไข โปรแกรมที่เรียกใชขอมูลนันมากนัก ่ เมื่อทราบถึงความหมายและประโยชนของการนําฐานขอมูลมาใชแลว ในหัวขอตอไปจะศึกษาถึง โครงสรางตาง ๆ ของฐานขอมูล ซึ่งจําเปนตองใชแบบจําลองขอมูลในการนําเสนอ แบบจําลองของขอมูลที่จะ ใชนําเสนอรายละเอียดและโครงสราง คําศัพทพื้นฐาน การประมวลผลในระบบแฟมขอมูล ไดแบงหนวยของขอมูลไวหลายระดับ ดังนี้ บิท (Bit) หมายถึง หนวยของขอมูลที่มีขนาดเล็กที่สุด ไบท (Byte) หมายถึง หนวยของขอมูลที่เกิดจากการนํา บิท มารวมกันเปนตัวอักษร ฟลด (Field) หมายถึง หนวยของขอมูลที่ประกอบดวยหลายๆ ตัวอักษร เพื่อแทนความหมายของสิ่ง หนึ่ง เชน รหัสพนักงาน ชื่อ เปนตน การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 48.
    บทที่ 4 การใชงานฐานขอมูลMySQL 44 เรคคอรด (Record) หมายถึง หนวยของขอมูลที่เกิดจากการนําเอา ฟลดหลายๆ ฟลด มารวมกัน เพื่อแสดงรายละเอียด ขอมูลในเรื่องใดเรื่องหนึ่ง เชน เรคคอรดหนึ่งๆ ของพนักงานประกอบดวย ฟลดตางๆ เชน รหัสพนักงาน ชื่อแผนก เงินเดือน เปนตน แฟมขอมูล (File) หมายถึง หนวยของขอมูลที่เกิดจากการนําเรคคอรดหลายๆ เรคคอรด มารวมกัน สําหรับในระบบฐานขอมูล คําศัพทพื้นฐานที่เกี่ยวของมีดังตอไปนี้ คือ เอนทิตี้ (Entity) เอนทิตี้ หมายถึง ชื่อของสิ่งใดสิ่งหนึ่ง อาจเกี่ยวกับ คน สถานที่ สิ่งของ การ กระทํา ซึ่งตองการจัดเก็บขอมูลไว เชน เอนทิตี้พนักงาน สินคา ลูกคา การสั่งซื้อ เปนตน แอททริบิวต (Attribute) แอททริบิวต หมายถึง รายละเอียดของขอมูลในเอนทิตี้หนึ่งๆ เชน เอนทิตี้พนักงาน ประกอบดวย แอททริบิวตรหัสพนักงาน ชื่อ เงินเดือน หรือเอนทิตี้ลูกคาประกอบดวยแอททริบวตรหัสลูกคา ชื่อ ที่อยู ิ หมายเลขโทรศัพท หรือเอนทิตี้แผนก ประกอบดวย แอททริบิวตรหัสแผนก ชื่อ เปนตน รูปแบบของฐานขอมูล รูปแบบของฐานขอมูลแบงออกเปน 3 ประเภท คือ 1. ฐานขอมูลเชิงสัมพันธ (Relational Database) เปนการจัดเก็บขอมูลของเอนทิตี้ในรูปแบบตาราง ที่มีลักษณะเปนสองมิติ คือ เปนแถว (Row) และ เปนคอลัมน (Column) ในการเชื่อมโยงขอมูลระหวางตาราง จะเชื่อมโยงโดยใชแอททริบิวตที่มีอยูในทั้งสองตารางเปนตัว เชื่อมโยงขอมูลกัน ตัวอยางเชน ตารางพนักงานและตารางแผนก ถาตองการทราบวาพนักงานรหัส 1001 อยู สังกัดแผนกอะไรจะตองนํารหัสแผนกในตารางพนักงานไปตรวจสอบกับรหัสแผนก (DEPNO) ซึ่งเปนคีย (Key) ในตารางแผนกเพื่อดึงขอมูลชื่อแผนกออกมา ฐานขอมูลเชิงสัมพันธนี้จะเปนรูปแบบที่นิยมใชในปจจุบัน และเปนฐานขอมูลที่จะกลาวในรายละเอียด ตอไป การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 49.
    บทที่ 4 การใชงานฐานขอมูลMySQL 45 EMPLOYEE (พนักงาน) EMPNUM 1001 3001 4001 1002 3002 EMPNAME SIRIWAN ARLEE WICHAI JINTANA MITREE HIREDATE 06/13/93 08/15/93 12/26/93 10/31/93 12/05/93 SALARY 3000 17000 33000 30000 29000 POSITION CLERK SALESMAN MANAGER CONTROLLER MANAGER DEPNO 10 30 40 10 30 MGRNO 1002 3004 2002 1003 2002 DEP (แผนก) DEPNO 10 20 30 DEPNAME ACCOUNTING ADMINISTRATION MARKETING LOCATION SILOM SUKUMVIT RATCHADA 2. ฐานขอมูลแบบลําดับขัน (Hierarchical Database) ้ โครงสรางของฐานขอมูลแบบลําดับขั้น เปนโครงสรางที่จัดเก็บขอมูลในลักษณะความสัมพันธแบบ พอ - ลูก (Parent - Child Relationship Type : PCR Type) คําวาขอมูลที่กลาวในที่นี้ก็คือ เรคคอรด (Record) นั่นเอง ซึ่งประกอบดวยคาของฟลด (Field Value) ของเอนทิตี้หนึ่งๆ แผนก ชื่อแผนก รหัสแผนก สถานที่ การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 50.
    บทที่ 4 การใชงานฐานขอมูลMySQL พนักงาน ชื่อ รหัส เงินเดือน 46 โครงการ รหัส แผนก เงินเดือน ชื่อโครงการ รหัสโครงการ สถานที่ จากรูป เคารางของฐานขอมูลเชิงลําดับขั้น (Hierarchical Database Schema) ประกอบดวยประเภท ของเรคคอรด (Record Type) และความสัมพันธ ดังนี้ 1. ประกอบดวย เรคคอรด 3 ประเภท คือ แผนก (Department) พนักงาน (Employee) และ โครงการ (Project) 2. ประกอบดวยความสัมพันธแบบ PCR 2 ประเภท คือ ความสัมพันธของขอมูลแผนกกับพนักงาน และความสัมพันธของขอมูลแผนกกับโครงการ โดยทีมีแผนกเปน เรคคอรดประเภท พอ - แม (Parent ่ Record Type) และพนักงานกับโครงการเปนเรคคอรดประเภทลูก (Child Record Type) ความสัมพันธทั้ง สองดังกลางขางตนเปนแบบ 1 : N ดังรูป การตลาด การบัญชี พนักงาน วิชัย วินย วิชิต สมบุญ ั สุรชัย สุรภี สุรเดช ข. แผนก วิจัย โครงการ สินคา ก สินคา ข สินคา ค ก. แผนก บริหาร คอมพิวเตอร การปรับปรุงการบริหาร การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 51.
    บทที่ 4 การใชงานฐานขอมูลMySQL 47 คุณสมบัติของเคารางของฐานขอมูลเชิงลําดับขั้น มีดังนี้ คือ 1. หากเรคคอรดใดเปนราก (Root) ของเคารางแลว จะมีคุณสมบัติเปนเรคคอรดประเภทลูก (Child Record Type) ไมได 2. ทุกเรคคอรดยกเวนราก (Root) สามารถมีความสัมพันธกับเรคคอรดประเภทพอแมไดหนึ่ง ความสัมพันธ 3. ทุกเรคคอรด สามารถมีคุณสมบัติเปนเรดคอรดประเภทพอแมได 4. ถาเรดคอรดหนึ่งมีเรคคอรดลูกมากกวา 1 เรดคอรดแลวการลําดับความสัมพันธของเรดคอรดลูกจะ ลําดับจากซายไปขวา 3. ฐานขอมูลแบบขายงาน (Network Database) โครงสรางของขายงานประกอบดวยประเภทของเรคคอรด และกลุมของขอมูลของเรคคอรดนั้นๆ เชนเดียวกับโครงสรางของฐานขอมูลเชิงสัมพันธ และเชิงลําดับขั้น ความสัมพันธระหวางประเภทของเรคคอรดในฐานขอมูล เรียกวา Set Type ซึ่งสามารถแสดงใน แผนภูมิ เรียกวา Bachman diagram อันมีประกอบดังนี้ 1. ชื่อของ Set Type 2. ชื่อของประเภทของเรคคอรดหลัก (Owner Record Type) 3. ชื่อของเรคคอรดที่เปนสมาชิก (Member Record Type) แผนก ชื่อแผนก ... นักศึกษา ชื่อนักศึกษา ... การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 52.
    บทที่ 4 การใชงานฐานขอมูลMySQL 48 ตัวอยาง เชน จากรูป ประกอบดวย Set Type ที่ชื่อวา วิชาเอก (Major - Dept) โดยมีแผนก (Department) เปนเรคคอรดหลัก (Ower Record Type) และมีนักศึกษาเปนเรคคอรดสมาชิก (Member Record Type) โดยมีความสัมพันธแบบ 1 : N ในฐานขอมูล จะมีกลุมขอมูลที่เกี่ยวของกับเรื่องวิชาเอก (Set Occurrence หรือ Set Instance) กลุม ขอมูลนี้ประกอบดวย ขอมูลจากเรคคอรดหลัก 1 ขอมูล และขอมูลเรคคอรดที่เปนสมาชิก จากรูปดานลาง จะ เห็นวาเรคคอรดหลักคือแผนก (Department) จะมีขอมูลของเรคคอรดที่เปนสมาชิกคือนักศึกษา (Student) ที่ เรียนวิชาเอกในแตละสาขา จากตัวอยางนีจะมีวิชาเอก (Major Dept) อยู 4 สาขา (Set Occurrences) โดยที่ ้ แตละวิชาเอกจะตองมีชื่อแผนก (Owner Record) ซึ่งสามารถที่จะมีขอมูลของสมาชิกไดมากกวา 1 เรคคอรด หรือไมมีเลยก็ได แผนก นักศึกษา ... เศรษฐศาสตร บัญชี ... นาย ก ... นางสาวโสภา ... นาย ข ... นางสาวสมศรี ... นาย ค ... นายสิทธิพร ... นาย ง ... นาย จ ... แผนก นักศึกษา รัฐศาสตร ... นายรักดี ... นายชูชีพ ... วนศาสตร ... การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 53.
    บทที่ 4 การใชงานฐานขอมูลMySQL 49 ความสัมพันธ (Relationship) หัวใจสําคัญในการออกแบบฐานขอมูลที่มีโครงสรางเชิงสัมพันธหรือ Relational database ก็คือการ ออกแบบเทเบิลเพื่อเก็บขอมูลกลุมตาง ๆ โดยจะตองสามารถกําหนดความสัมพันธระหวางกลุมขอมูลเหลานั้น ได ดังนันจะตองวิเคราะหใหไดวาขอมูลเหลานั้นมีความสัมพันธกันอยางไร ซึ่งความสัมพันธระหวางเทเบิลมี ้ ทั้งหมด 3 ลักษณะคือ ความสัมพันธแบบ 1 : 1 (One - to - One) เปนความสัมพันธที่แถวหนึงแถวในเทเบิลใด ๆ สามารถจับคูกับแถวในอีกเทเบิลหนึงไดเพียงแถวเดียว ่ ่ เทานั้น หรือเปนการจับคูกนตัวตอตัว ความสัมพันธลักษณะนีจะพบเห็นไดนอย เชน กรณีทจํานวนคอลัมนใน ั ้ ี่ เทเบิลนั้นมีมากเกินไป จนทําใหเทเบิลมีขนาดใหญไมสะดวกในการประมวลผลและบํารุงรักษา จึงตองแยก ขอมูลบางสวนที่สําคัญออกมาเก็บไวอีกเทเบิลหนึ่ง โดยเลือกคอลัมนที่มีคุณสมบัติเหมาะสมเปนตัวเชื่อม ความสัมพันธระหวางเทเบิลทั้งสอง ในตัวอยางนี้จะใชรหัสพนักงานเปนตัวเชื่อมเนืองจากเปนคอลัมนรวม ่ (commonfield) ของทั้ง 2 เทเบิล ดังรูป พนักงาน 1 รหัสพนักงาน 1001 1002 1003 1004 ชื่อ Michael Laura Robert Anne นามสกุล Suyama Callahan King Dodsworth ที่อยู Coventry House, London 4725-11th Ave. N.E. Seattle Edgeham Hollow, London 7 Houndstood Rd. London โทรศัพท (71) 555 - 7773 (71) 555 - 4848 (206) 555 -1189 (71) 555 - 4444 ขอมูลสวนตัว 1 รหัสพนักงาน 1001 1002 เงินเดือน 25,000 20,000 เลขที่บัตรประกันสังคม 324 -45-6400 245 -37-5600 ความสัมพันธแบบ 1 : 1 การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 54.
    บทที่ 4 การใชงานฐานขอมูลMySQL 50 ความสัมพันธแบบ 1 : N (One - to - Many) เปนความสัมพันธที่แถวหนึงแถวในเทเบิลใด ๆ สามารถจับคูกับแถวในอีกเทเบิลหนึงไดหลายแถว ่ ่ ตัวอยางเชน ความสัมพันธระหวางเทเบิลลูกคา และเทเบิลการสั่งซื้อ ลูกคาหนึ่งคนจะมีใบสั่งซื้อสินคาไดหลาย ใบ ในขณะทีใบสั่งซื้อแตละใบจะตองมาจากลูกคาเพียงคนเดียวเทานัน หรือตัวอยางของอาจารยที่ปรึกษาที่มี ่ ้ นักศึกษาในความรับผิดชอบไดหลายคน แตนักศึกษาแตละคนจะมีอาจารยที่ปรึกษาไดเพียงคนเดียวเทานัน ้ ดังรูป ลูกคา 1 รหัสลูกคา 1001 1002 ชื่อบริษัท Let’s Stop N Shop B’s Beverage ที่อยู 87 Polk St. San Francisco Fauntleroy Circus, London การสั่งซื้อ N รหัสสั่งซื้อ 12010 12015 รหัสลูกคา 1002 1002 รหัสสินคา BE - 203 ME - 010 ความสัมพันธแบบ 1 : N ความสัมพันธแบบ M : N (Many - to - Many) คือลักษณะที่แถวหลาย ๆ แถวในเทเบิลหนึง มีความสัมพันธกับอีกหลาย ๆ แถวในอีกเทเบิลหนึ่งพรอม ่ กัน เชน ความสัมพันธระหวางเทเบิลลูกคา และเทเบิลสินคา ลูกคาหนึ่งคนสามารถซื้อสินคาไดหลายชนิด ้ ในขณะที่สินคาแตละชนิดก็จะถูกซื้อโดยลูกคาหลาย ๆ คนไดดวย ถาเรานําเทเบิลทังสองนี้มาเชื่อมโยงกัน  โดยตรงจะเห็นวาทําไมได เนื่องจากไมมคอลัมนที่เปนคอลัมนรวมของทั้ง 2 เทเบิล การสรางความสัมพันธ ี แบบ M : N จึงตองใชเทเบิลอื่นมาชวยเปนสะพานในการเชื่อมโยงซึ่งในที่นี้จะใชเทเบิลการสั่งซื้อมาชวย ดัง รูป การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 55.
    บทที่ 4 การใชงานฐานขอมูลMySQL 51 ลูกคา 1 รหัสลูกคา 1001 1002 1003 ชื่อบริษัท Let’s Stop N Shop B’s Beverage Chop - suey Chinese ที่อยู 87 Polk St. San Francisco Fauntleroy Circus, London Hauptstr. 29, Bern การสั่งซื้อ รหัสสั่งซื้อ N 12010 12010 12016 12025 สินคา รหัส ลูกคา 1001 1003 1002 1003 รหัสสินคา BE - 203 ME - 010 SE - 057 SE - 057 รหัสสั่งซื้อ N ME - 010 BE -115 1 SE - 057 BE - 203 ชื่อสินคา Boston Crab Meat Lpoh Collee Konbu Outback Lager ปริมา ณ 120 15 24 30 ความสัมพันธแบบ M : N จากภาพจะเกิดความสัมพันธแบบ 1 : N สองความสัมพันธ ความสัมพันธแรกคือความสัมพันธ ระหวางเทเบิลลูกคา และเทเบิลการสั่งซื้อ ความสัมพันธที่สองคือความสัมพันธระหวางเทเบิลสินคาและเทเบิล การสั่งซื้อ คอลัมนรหัสลูกคาและคอลัมนรหัสสินคาจะถูกนํามาใชเปนคอลัมนรวมเพือสรางความสัมพันธ ่ ระหวางเทเบิลลูกคาและเทเบิลสินคา ใหเปนแบบ M : N จากตัวอยางในรูป ลูกคารหัส 1003 ซื้อสินคารหัส ME - 010 และ SE - 057 ในขณะที่สินคา SE - 057 ก็ถูกซื้อโดยลูกคารหัส 1002 และ 1003 การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 56.
    บทที่ 4 การใชงานฐานขอมูลMySQL 52 ประเภทของคีย เพื่อเพิ่มประสิทธิภาพในการจัดการฐานขอมูล เชน การอางอิง การคนหา การแกไขขอมูลในแถวใด ๆ หรือการกําหนดความสัมพันธระหวางเทเบิล จะตองกําหนดคียใหกับแตละเทเบิลกอน โดยเลือกใหคอลัมน ใด ( อาจมีมากกวา 1 คอลัมน ) เปนคีย มิฉะนั้นจะไมสามารถนําเทเบิลมาเชื่อมโยงสัมพันธกันไดเลย นอกจากนี้การกําหนดคียจะทําใหการอางอิงและประมวลผลขอมูลดวยคอมพิวเตอรสะดวกและรวดเร็วขึ้น รวมทั้งประหยัดเนื้อทีในการเก็บขอมูลอีกดวย เชน กําหนดรหัสประจําตัวใหกับพนักงานทุกคนในเทเบิล ่ พนักงาน เมื่อพนักงานคนใดทํางานลวงเวลาก็จะนําเฉพาะรหัสพนักงานพรอมขอมูลการทํางานไปใสในเทเบิล การทํางานลวงเวลา คียที่ใชในระบบฐานขอมูลมีหลายประเภท ดังนี้ คียหลัก (Primary Key) หมายถึง แอตทริบิวตหรือกลุมของแอตทริบิวตของเทเบิลหนึ่ง ที่มีขอมูลไมซ้ํากันและมีคาเสมอ (ไม เปน NULL ) ทําใหสามารถระบุไดวาเปนขอมูลแถวใดในเทเบิลนั้น คียหลักจะใชประโยชนในการระบุ ( identify ) ขอมูลที่ตองการเขาถึง ไดแก ถาเปนขอมูลของนักศึกษา ( เทเบิลนักศึกษา ) ตัวคียหลักก็จะเปนรหัส นักศึกษา เปนตน ขอดีของการกําหนดคียหลักอีกขอคือ จะชวยไมใหเกิดการผิดพลาดเนื่องจากปอนขอมูลที่  ซ้ํากันในคอลัมนที่ไมอนุญาตใหมีขอมูลซ้ํา ถาใสขอมูลซ้ําโปรแกรม DBMS จะแสดงขอความเตือนและไม ทํางานตอจนกวาจะแกไขขอมูลใหถูกตอง คียนอก (Foreign Key) คียนอก เปนคียที่ใชเชื่อมเทเบิลที่เกี่ยวของเขาดวยกัน เชน ในเทเบิลลูกคาจะมีคอลัมนรหัสลูกคาเปนคียหลักเราจะให รหัสลูกคาในเทเบิลลูกคาเชื่อมโยงกับรหัสลูกคาในเทเบิลการสั่งซื้อ เพื่อที่จะไดทราบชื่อและที่อยูของลูกคาที่สั่งซื้อสินคานั้น ในกรณีนี้คอลัมนรหัสลูกคาในเทเบิลการสั่งซื้อจะมีคุณสมบัติเปนคียนอก ( ในขณะที่คอลัมนรหัสลูกคาเมื่ออยูในเทเบิลลูกคา จะมีคุณสมบัติเปนคียหลัก ) การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 57.
    บทที่ 4 การใชงานฐานขอมูลMySQL 53 กฎที่ใชจัดเก็บขอมูลในฐานขอมูลเชิงสัมพันธ กฎขอที่ 1 ทุกเทเบิลตองมีหนึ่งคียหลัก (Primary key)  กฎขอที่ 2 ในการสรางความสัมพันธระหวางเทเบิล 2 เทเบิลในฐานขอมูลเชิงสัมพันธ สามารถกําหนด ดวยคียนอก ( Foreign Key ) ซึ่งอาจมีคาเปน NULL ( ไมมีคาขอมูล ) หรือมีคาตรงกับขอมูลของคียหลักในอีก เทเบิลหนึ่งที่มความสัมพันธกันดวย ี การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 58.
    บทที่ 4 การใชงานฐานขอมูลMySQL 54 รูจักกับฐานขอมูล MySQL นับจากทศวรรษที่ 1980 เปนตนมา ภาษาโปรแกรมมิ่งไดรับการพัฒนาเปนอยางมาก โดยพัฒนาการ ของภาษาโปรแกรมมิ่ ง ในช ว งนี้ มี วั ต ถุ ป ระสงค เ พื่ อ สร า งภาษาที่ ใ ช ง านร ว มกั น กั บ ระบบสารสนเทศและ ฐานขอมูลได ภาษา SQL หรือ Structue Query Language ถูกพัฒนาขึ้น และเริ่มมีบทบาทกวางขวาง เนื่องจาก SQL เปนกลไกสําคัญ ซึ่งควบคุมการทํางานของระบบจัดการฐานขอมูลในปจจุบัน MySQL เปนโปรแกรมจัดการฐานขอมูลที่มีลักษณะเปนฟรีแวร ถูกพัฒนาขึ้นโดยบริษัท MySQL AB ในประเทศสวีเดน บริษัท MySQL AB กอตั้งโดย David Axmark, Allan Larsson และ Michael Monty Widenius โดยมีสมาชิกเปนนักพัฒนาจาก 12 ประเทศทั่วโลก ซึ่งติดตอสื่อสารกันผานระบบเครือขาย และ อินเตอรเน็ต MySQL เติบโต และพัฒนาอยางรวดเร็ว โดยผูใชกลุมตางๆ ไดพยายามพัฒนาฟรีแวรชนิดนี้เพื่อใช งานภายในกลุม และเผยแพรสูผูใชอื่นๆ ตอไป เชนเดียวกับรูปแบบการพัฒนาของระบบปฏิบัติการ Linux การพัฒนาที่รวดเร็วนี้ทําใหฟรีแวรเหลานี้แตกแขนงสายพันธุจนยากที่จะหาเคาโครงเดิมได แตนั่นก็ทําใหเกิด ความหลากหลาย และรองรับความตองการของผูใชกลุมตางๆ ไดเปนอยางดี หากมองยอนกลับไปถึงจุดประสงคเริ่มตนของบริษัท MySQL AB ผูเริ่มพัฒนาซอฟตแวร MySQL จะเห็นวาในปจจุบันวัตถุประสงคเริ่มตนนั้นสําเร็จลุลวงไปมากทีเดียว โดยวัตถุประสงคของผูผลิตซอฟตแวรมี ดังนี้ • ตองการสรางสรรค และพัฒนาซอฟตแวรสําหรับการจัดการฐานขอมูลที่มีขนาดเล็ก แตมี ความสามารถสูง • เปนซอฟตแวรที่มีผูใชทุกมุมโลก • ใชงานงาย • มีการปรับปรุงอยางตอเนื่อง และรวดเร็ว • ปราศจากขอผิดพลาดจากตัวโปรแกรม • ไมมีคาใชจายในการจัดหา (เปนฟรีแวร) ความสําคัญของ MySQL MySQL มีความสามารถที่ไมยิ่งหยอนไปกวาระบบจัดการฐานขอมูลชนิดอื่น ระบบจัดการฐานขอมูล ของ MySQL ประกอบดวย ระบบจัดการฐานขอมูลเชิงเดี่ยว และระบบจัดการฐานขอมูลเชิงสัมพันธ ยิ่งไป กวานั้นภาษา SQL ซึ่งเปนจุดกําเนิดของ MySQL เปนหัวใจสําคัญของระบบจัดการฐานขอมูลในปจจุบัน ไม วาจะเปน Microsoft Access, Oracles หรือ Lotus Note การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 59.
    บทที่ 4 การใชงานฐานขอมูลMySQL 55 ฐานขอมูล MySQL มีจุดเดนที่ความเร็วในการจัดการ มีความนาเชื่อถือและใชงานงาย ในปจจุบัน ตลาดการค า ซอฟต แ วร มี ก ารแข ง ขั น สู ง ผลิ ต ภั ณ ฑ ซ อฟต แ วร สํ า หรั บ จั ด การฐานข อ มู ล มี เ ป น จํ า นวนมาก ทางเลือกของผูบริโภคจึงมีมากตามไปดวย ความสามารถ และประสิทธิภาพการทํางานของระบบจัดการ ฐานขอมูลจึงเปนปจจัยสําคัญอยางหนึ่งในการตัดสินใจของผูใช ระบบจัดการฐานขอมูล MySQL เปนระบบเครือขายแบบ Client / Server Side ซึ่งประกอบดวย Server และ Client หลายเครื่อง โดย Server มีหนาที่สนับสนุนการจัดเก็บขอมูล บริหารระบบหองสมุด ขอมูล และ API ซึ่งทําใหผูใชไดฐานขอมูลที่จัดการไดงาย และสามารถเชื่อมโยงฐานขอมูลเขากับโปรแกรม ประยุกตอื่นไดงาย และรวดเร็ว คุณลักษณะเดนของระบบจัดการฐานขอมูล MySQL • MySQL เปนระบบจัดการฐานขอมูล • MySQL เปนระบบจัดการฐานขอมูลเชิงสัมพันธ • MySQL เปนซอฟตแวรแบบฟรีแวร และเปน Open Source การใชงานฐานขอมูล MySQL มีคําสั่งในการใชงานที่แตกตางจากภาษาอื่นๆ แตยังยึดหลักของภาษา SQL (Structure Query Language) ซึ่งจะอธิบายการใชงานคําสั่งตางๆ ของฐานขอมูล MySQL ในหัวขอ ตอไป คําสั่งที่ใชทํางานกับฐานขอมูล MySQL ขั้นตอนการสราง การใชงาน และการปรับปรุงฐานขอมูล MySQL เปนเรื่องที่จะตองศึกษา เนื้อหาใน สวนนี้จะกลาวถึงวิธีการใชงานระบบจัดการฐานขอมูล MySQL ซึ่งประกอบดวยรายละเอียดเกียวกับการสราง ่ และใชงานฐานขอมูล MySQL ดังนี้ การเรียกใช MySQL มีวิธีดังนี้ 1. เขาสูจอภาพของวินโดว โดยดับเบิลคลิกที่ไอคอน My Computer 2. ดับเบิลคลิกที่ไดรฟ C: จากนั้นดับเบิลคลิกเลือกโฟลเดอร Appserv 3. จากนั้นดับเบิลคลิกที่โฟลเดอร mysql และ bin ตามลําดับ (C:AppServmysqlbin) 4. ดับเบิ้ลคลิกที่ไอคอน Winmysqladmin จะปรากฏรูปสัญญาณไฟที่บริเวณทาสบาร (Taskbar) 5. เมื่อตองการใชฐานขอมูล MySQL ใหดบเบิลคลิกที่ไอคอน mysql จะปรากฏจอภาพดังรูป ั การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 60.
    บทที่ 4 การใชงานฐานขอมูลMySQL 56 รูปแสดงขั้นตอนการเรียกใชฐานขอมูล MySQL คําแนะนํา การเขียนแตละคําสั่งใน MySQL จะตองจบดวยเครื่องหมาย semicolon (;) หากไมใสจะ ทําใหเกิดปญหากับคําสั่งตอไป เพราะ MySQL จะอานเปนคําสั่งเดียวกัน การสรางฐานขอมูลใน MySQL ฐานขอมูลของ MySQL เปน Database Server สามารถรองรับฐานขอมูลที่มีความแตกตาง กันได โดยสามารถสรางฐานขอมูลไดที่ Command Prompt ของโปรแกรม MySQL โดยพิมพโคด คําสั่งดังนี้ create database dbname; โดยที่ dbname หมายถึง ชื่อของฐานขอมูล ตัวอยาง การสรางฐานขอมูลเพื่อใชงาน พิมพโคดคําสั่ง create database mydata ; โดยที่ mydata เปนชื่อของฐานขอมูล ดังรูป การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 61.
    บทที่ 4 การใชงานฐานขอมูลMySQL 57 เมื่อสรางฐานขอมูลเสร็จแลว จอภาพของ MySQL จะแสดงขอความวา OK หมายความวา สรางไดสําเร็จ การสรางตารางใน MySQL กอนการสรางตารางตองมีการเรียกใชงานฐานขอมูลกอน ซึ่งทําไดดวยคําสั่ง use รูปแบบ  คําสั่ง คือ use dbname; โดยที่ dbname หมายถึง ชื่อของฐานขอมูล ตัวอยาง การใชคําสั่ง use เพื่อเรียกการใชงานฐานขอมูล ชื่อของฐานขอมูลคือ mydata เรียกใชฐานขอมูลนี้ได ดังรูป เมื่อมีการเรียกใชงานฐานขอมูลแลว ตอมาจะสรางตารางลงในฐานขอมูล ซึ่งมีรูปแบบคําสั่ง ดังนี้ CREATE TABLE tablename (column1 type, column2 type...) โดยที่ tablename column type หมายถึงชื่อตาราง หมายถึงคอลัมนที่ตองการสราง หมายถึงชนิดของคอลัมน การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 62.
    บทที่ 4 การใชงานฐานขอมูลMySQL 58 ตัวอยาง การใชคําสั่ง CREATE TABLE สรางตารางลงในฐานขอมูล ทําไดดังรูป จากรูปเปนการใชคําสั่ง CREATE เพื่อสรางตารางใหมชอ EMPLOYEE ประกอบดวย ื่ 8 คอลัมน คือ EmplD. Firstname, Lastname, Address, Workphone, Homephone, Password และ Email กําหนดใหคอลัมน EmpID เปน Primary Key จึงกําหนดเปน Not Null คือ เปนฟลดที่หาม มีคาวาง และกําหนดใหเพิ่มแบบอัตโนมัติ (auto_increment) หากสรางตารางไดสําเร็จจะปรากฏ ขอความ “Query OK. 0 row affected (0.00 sec)” คําอธิบายคียเวิรด (Keyword) • Not Null • Auto_increment • Primary key • Unsigned หมายถึง คาของขอมูลในคอลัมนน้หามเปนคาวาง ี หมายถึง เปนคําสั่งพิเศษใน MySQL ใชกบคอลัมนที่เปนเลข ั จํานวนเต็ม (Integer) เมื่อเพิ่มแถวในตารางคางนี้จะ เพิ่มขึ้นครั้งละ 1 โดยอัตโนมัติ ซึ่งคาเหลานี้จะไมซ้ํา กัน ขอมูลในคอลัมนที่นี้ Auto_increment จะตอง กําหนดเปน Index หรือ Primary key ซึ่งแสดงลําดับ สําหรับอางอิงคาขอมูลดวยเสมอ หมายถึง เปนการกําหนดคาของคอลัมนใหเปน Primary Key หมายถึง เปนการกําหนดคาชนิดเลขจํานวนเต็มใหเปนคาที่ไมมี เครื่องหมาย การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 63.
    บทที่ 4 การใชงานฐานขอมูลMySQL 59 การแสดงรายละเอียดในฐานขอมูล การแสดงขอมูลของตารางในฐานขอมูลทําไดโดยใชคําสั่ง SHOW และ DESCRIBE ซึ่งแต ละคําสั่งมีรายละเอียด ดังนี้ Variation คําอธิบาย SHOW DATABASES [LIKE database] แสดงรายการของฐานขอมูลทั้งหมดใน ระบบ SHOW TABLES [FROM database] แสดงตารางทังหมดจากฐานขอมูลที่ระบุ ้ [LIKE table] หรือฐานขอมูลปจจุบันที่เรียกใชอยู จึงไม จําเปนตองใชคําสั่ง FROM database SHOW COLUMNS FROM table แสดงรายการของคอลัมนในตาราง และ [FROM database] [LIKE column] ฐานขอมูลที่ระบุ หากเปนฐานขอมูล ปจจุบันที่กาลังใชอยูไมจําเปนตองใชคําสั่ง ํ FROM database SHOW INDEX FROM table แสดงรายละเอียดของดัชนี (index) ใน [FROM database] ตาราง และฐานขอมูลที่ระบุ หากเปน ฐานขอมูลปจจุบันที่กําลังใชอยูไม จําเปนตองใชคําสั่ง FROM SHOW STATUS [LIKE status_item] แสดงสถานะของระบบ SHOW VARIABLES [LIKE แสดงชื่อ และคาของระบบ MySQL variable_name] SHOW [FULL] PROCESSLIST แสดงรายการทํางานกับฐานขอมูลวามีผูใช คนใดใชฐานขอมูลใดบาง SHOW TABLE STATUS แสดงสถานะของตารางที่อยูในฐานขอมูล [FROM database] [LIKE database] ระบุ การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 64.
    บทที่ 4 การใชงานฐานขอมูลMySQL 60 ตัวอยาง การใชคําสั่ง Show databases เพื่อแสดงชื่อฐานขอมูล ในตัวอยางนีจะมีชื่อฐานขอมูลอยู 2 ชื่อ คือ ฐานขอมูล mydata และฐานขอมูล mysql ้ ตัวอยาง การใชคําสั่ง Show tables เพื่อแสดงชื่อตาราง เลือกฐานขอมูลที่ตองการจะใชตารางหากใชคําสั่ง show tables กอนจะปรากฏขอผิดพลาดที่ แจงวาใหเลือกฐานขอมูลกอน การใชคําสัง DESCRIBE ่ การแสดงคอลัมน หรือโครงสรางของตาราง ยังสามารถใชไดอีกคําสั่งหนึ่ง คือ การใชคําสั่ง DESCRIBE ซึ่งแตกตางจากการใชคําสั่ง SHOW tables ที่คําสั่ง DESCRIBE สามารถระบุเฉพาะ คอลัมนที่ตองการแสดงได โดยมีรูปแบบดังนี้ DESCRIBE table [column]; โดยที่ table Column หมายถึง หมายถึง ชื่อตาราง คอลัมน การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 65.
    บทที่ 4 การใชงานฐานขอมูลMySQL 61 ตัวอยาง การใชคําสั่ง DESCRIBE เพื่อแสดงรายละเอียดของตาราง (โครงสรางของตาราง) จากรูป ใชคําสั่ง DESCRIBE ในการแสดงรายละเอียดของตาราง employee ที่มีอยูใน ฐานขอมูลชื่อ mydata โดยมีทั้งหมด 8 คอลัมน พรอมแสดงรายละเอียดของแตละคอลัมน การเพิ่มขอมูลดวยคําสัง INSERT ่ เมื่อสรางฐานขอมูลเรียบรอยแลว ขั้นตอนตอไป คือ การนําขอมูลมาเก็บลงในฐานขอมูล ดวยคําสั่ง INSERT ซึ่งมีรูปแบบ ดังนี้ INSERT [into] table [(column1, column2, column3,...)] VALUES (value1, value2, value3, ...) โดยที่ table หมายถึง Column หมายถึง Value หมายถึง ชื่อตาราง ชื่อคอลัมน จะมีหรือไมกได ็ คาของขอมูลที่ตองการเพิ่ม ตัวอยาง การใชคําสั่ง INSERT ใน MySQL การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 66.
    บทที่ 4 การใชงานฐานขอมูลMySQL 62 จากรูป เปนการใชคําสั่ง INSERT เพื่อเพิมขอมูล ‘R02’ , RoomN02’ , NULL เขาไปไวใน ่ ตารางชื่อ room โดยกอนทีจะมีการจัดการกับตารางในฐานขอมูล ่ การเรียกใชขอมูลดวยคําสัง SELECT ่ หากตองการเรียกดูขอมูล หรือคนหาขอมูล ทําไดโดยใชคําสั่ง SELECT ซึ่งสามารถระบุ เงื่อนไขตางๆ รวมดวยได การใชคําสั่ง SELECT สามารถแบงเปนหัวขอตางๆ ตามลักษณะการ ใช งาน ดังนี้ การเรียกใชขอมูลแบบไมมีเงือนไข ่ เปนการใชคําสั่ง SELECT เพื่อเรียกดูขอมูลทั้งตาราง มีรูปแบบดังนี้ SELECT column FROM table; โดยที่ column Table หมายถึง หมายถึง ชื่อคอลัมน ชื่อตาราง ตัวอยาง การใชคําสั่ง SELECT แบบงายเพื่อเรียกดูขอมูล 1 คอลัมน จากรูป เลือกแสดงคอลัมน room Name จากตาราง room ซึ่งกอนการเขาใชตารางจะตอง ระบุฐานขอมูล ดวยคําสั่ง use การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 67.
    บทที่ 4 การใชงานฐานขอมูลMySQL 63 ตัวอยาง การใชคําสั่ง SELECT เพื่อเลือกแสดงหลายคอลัมนในคําสั่งเดียว จากรูป เปนการใชคําสั่ง SELECT เลือกคอลัมน RoomID และ RoomName จากตาราง room เพื่อแสดงรหัสหอง และชื่อหองตางๆ ที่อยูภายในตาราง room ตัวอยาง การใชคําสั่ง SELECT เพื่อแสดงทุกคอลัมนในตาราง การเรียกใชขอมูลแบบมีเงื่อนไข เปนการใชคําสั่ง SELECT เพื่อเรียกดูขอมูลภายในตาราง ตามเงื่อนไขที่กําหนด โดยมี รูปแบบดังนี้ SELECT column FROM table [WHERE condition] [GROUP BY group_type] [HAVING where_definition] [ORDER BY order_type] [LIMIT limit_criteria]; การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 68.
    บทที่ 4 การใชงานฐานขอมูลMySQL โดยที่ column table condition gropu_type where_definition หมายถึง หมายถึง หมายถึง หมายถึง หมายถึง order_type limit_criteria หมายถึง หมายถึง 64 ชื่อคอลัมน ชื่อตาราง เงื่อนไขที่ตองการกําหนด รายชื่อของคอลัมนที่ใชในการกําหนดกลุม เงื่อนไขที่ตองการกําหนดกลุมใหกับ  คอลัมนที่ถูกระบุในคําสั่ง GROUP BY ชนิดของการเรียงลําดับ ตําแหนง และจํานวนแถวทีตองการเลือก ่ WHERE เปนคําสั่งที่ใชเรียกดูขอมูลแบบมีเงื่อนไข เปนการระบุคาเฉพาะขอมูลที่ตองการเรียกดู อาจจะ  ใชเงื่อนไข เพือดึงขอมูลบางแถวจากตารางก็ได ซึ่งภายในคําสั่ง WHERE จะประกอบดวยสวนสําคัญ ่ คือ ชื่อคอลัมน Operator ในการเปรียบเทียบ และขอมูลเฉพาะที่ตองการแสดงเปนเงื่อนไขของ คอลัมนที่ระบุ ตัวอยาง การใชคําสั่ง SELECT แบบมีเงื่อนไข จากรูป เปนการใชคําสั่ง SELECT เพื่อใหแสดงชื่อของหอง (room Name) จากตารางชื่อ room ภายใตเงื่อนไขที่รหัสของหอง (roomID) จะตองมีคาเทากับ ‘R02’ ซึ่งกอนการเขาใชคําสั่ง SELECT ตองเรียกใช ฐานขอมูลดวยคําสั่ง use กอน Operator ที่ใชในคําสั่ง WHERE นอกจากเครื่องหมายทางคณิตศาสตรตางๆ แลวยังประกอบ ไปดวยคําสั่งอื่นๆ อีก เชน BETWEEN, IN/NOT IN, LIKE, GROUP BY, HAVING, ORDER BY และ LIMIT โดยแตละคําสั่งมีรายละเอียดดังนี้ การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 69.
    บทที่ 4 การใชงานฐานขอมูลMySQL operator 65 ชื่อ ตัวอยาง เทากับ EmpID=8 มากกวา Average>45.00 นอยกวา Average<45.00 มากกวาหรือเทากับ Average>=45.00 คําอธิบาย = ทดสอบวาคาทั้ง 2 เทากัน > ทดสอบวาคาหนึ่งมากกวาอีกคาหนึ่ง < ทดสอบวาคาหนึ่งนอยกวาอีกคาหนึ่ง >= ทดสอบวาคาหนึ่งมากกวาหรือเทากับอีก คาหนึ่ง <= นอยกวาหรือเทากับ Average<=45.00 ทดสอบวาคาหนึ่งนอยกวาหรือเทากับอีก คาหนึ่ง !=หรือ <> ไมเทากับ Salary!=0 ทดสอบวาคาทั้ง 2 ไมเทากัน IS NOT NULL ไมวาง Salary IS NOT ทดสอบวามีขอมูลอยูในคอลัมน  NULL IS NULL คาวาง Salary IS NULL ทดสอบวาในคอลัมนไมมีขอมูลอยู BETWEEN คาที่อยูระหวาง Average ทดสอบวาคานั้นอยูระหวางคา 0 และ 60 between 0 and 60.00 IN คาที่อยูในคอลัมนที่ Name in (“ang”, ทดสอบวาคานั้นอยูในเชตที่กําหนด (ใน  กําหนด “pim”) ที่นี้คือตองมีคําวา “ang” หรือ “pim” รวมอยูดวย)  NOT IN คาที่ไมไดอยูใน  Name not in ทดสอบวาคานั้นไมอยูในเชตที่กําหนด  คอลัมนที่กําหนด (“ang”,”pim”) (ในทีนี้คือตองไมมีคําวา “ang” หรือ ่ “pim” รวมอยูดวย)  LIKE เหมือนกับรูปแบบที่ Name like ตรวจสอบคาที่เหมือนกับคาที่กําหนด กําหนด (“ang%”) (ในทีนี้คือตรวจสอบคาของชื่อที่ขึ้นตน ่ ดวยคําวา “ang”) NOT LIKE ไมเหมือนกับ Name not like ตรวจสอบคาที่ไมเหมือนกับคาที่กําหนด รูปแบบที่กําหนด (“ang%”) (ในทีนี้คือ ตรวจสอบคาของชื่อที่ไมมี ่ ขึ้นตนดวยคําวา “ang”) การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 70.
    บทที่ 4 การใชงานฐานขอมูลMySQL 66 การเรียกใชขอมูลจากหลายตาราง การเรียกใชขอมูลจากหลายตารางทําได โดยใชคําสั่ง SELECT ใหกําหนดชื่อของตารางแลว ตามดวย เครื่องหมาย “dot” (.) จากนั้นเขียนคอลัมนที่ตองการจะใหแสดง และที่คําสั่ง FROM ให ระบุตารางที่ตองการ และกําหนดเงื่อนไขในสวนของ WHERE ตัวอยาง ในตัวอยางนีจะแสดงการเรียกใชขอมูลจากตาราง 2 ตาราง คือ ตาราง course และตาราง ้ courseprice ของฐานขอมูลชื่อ comlearning โดยตารางทั้ง 2 มีโครงสรางและ ขอมูล ดังนี้ ตาราง course ตาราง courseprice การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 71.
    บทที่ 4 การใชงานฐานขอมูลMySQL 67 เรียกใชขอมูลจากตาราง course และ courseprice ไดดังรูป จากรูป แสดงคอลัมน courseid และ coursename จากตาราง course และคอลัมน price จากตาราง courseprice โดยมีเงื่อนไข คือ courseid จากตาราง course ตองเทากับ courseid จาก ตาราง courseprice การรวมตารางดวยคําสัง JOIN ่ เปนคําสั่งที่ใชสําหรับเลือกขอมูลจาก 2 ตาราง หรือมากกวา โดยคียในแตละตารางจะมี  ความสัมพันธกัน การใชคําสั่ง JOIN มีหลายรูปแบบดังนี้ การใช LEFT JOIN เปนการนําเอาขอมูลจาก 2 ตาราง ที่มีความสัมพันธกันผานทางคียมาแสดงผล โดยใชตาราง ที่อยูทางซายของคําสั่ง JOIN เปนตัวตั้ง จากนั้นจึงเลือกขอมูลจากตารางที่อยูทางขวาของคําสั่ง JOIN ซึ่งมีคาคียที่ตรงกัน โดยมีรูปแบบดังนี้ SELECT column FROM tablc1 LEFT JOIN table2 ON table1.field1 compopr table2. field2 โดยที่ column table1, table2 field1, field2 หมายถึง หมายถึง หมายถึง compopr หมายถึง ชื่อคอลัมนที่ตองการเลือก ชื่อตารางที่ตองการนําขอมูลมา JOIN กัน ชื่อคอลัมนที่ใชในการ JOIN จะตองเปน ขอมูลชนิดเดียวกัน Operator ที่ใชในการเปรียบเทียบ การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 72.
    บทที่ 4 การใชงานฐานขอมูลMySQL 68 ตัวอยาง Select course.courseid, course.coursename, courseprice.price from course left join courseprice on course.courseid = courseprice.courseid; การใช RIGHT JOIN เปนการนําเอาขอมูลจากทั้ง 2 ตาราง ที่มีความสัมพันธกันผานทางคียมาแสดงผล  เชนเดียวกับคําสั่ง LEFT JOIN แตแสดงโดยใชตารางทีอยูทางขวาของคําสั่ง JOIN เปนตัวตั้ง แลว ่ เลือกขอมูลจากตารางที่อยูทางซายของคําสั่ง JOIN ซึ่งมีคาคียที่ตรงกัน โดยมีรูปแบบดังนี้ SELECT column FROM table1 RIGHT JOIN table2 ON table1.field1 compopr table2.field2 คาตัวเลือกตางๆ ดูไดจากหัวขอการใช LEFT JOINE ตัวอยาง Select course.courseid, course.coursename, courseprice.price from course right join courseprice on course.courseid = courseprice.courseid; การปรับปรุงขอมูลดวยคําสัง UPDATE ่ การปรับปรุงขอมูลมีรูปแบบคําสั่ง ดังนี้ UPDATE tablename SET column1=expression1, column2=expression2,... [WHERE condition] [LIMIT number] โดยที่ tablename column expression หมายถึง หมายถึง หมายถึง condition number หมายถึง หมายถึง ชื่อตาราง ชื่อคอลัมน รูปแบบการคํานวณ หรือคาใหมที่ตองการ กําหนด เงื่อนไขของขอมูลที่ตองการจะเปลี่ยน ขอบเขตของการปรับปรุง การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 73.
    บทที่ 4 การใชงานฐานขอมูลMySQL 69 ตัวอยางที่ การปรับปรุงขอมูลในตาราง courseprice ดวยคําสั่ง UPDATE จากรูป เปนการปรับปรุงตาราง courseprice ที่ courseid = ‘DADJV2’ จากราคาเดิม คือ 1500 เปลี่ยนเปน 3500 การลบแถวจากตารางดวยคําสั่ง DELETE คําสั่ง DELETE เปนคําสั่งที่ใชในการลบแถวออกจากตาราง โดยสามารถระบุเงื่อนไขของ แถวที่ตองการลบได มีรูปแบบของคําสั่ง ดังนี้ DELETE FROM tablename [WHERE condition] [LIMIT number] โดยที่ tablename condition number หมายถึง หมายถึง หมายถึง ชื่อตาราง เงื่อนไขที่กําหนด จํานวนแถวทีตองการลบ ่ ตัวอยาง การลบแถวออกจากตารางตามเงือนไขที่กําหนด ่ จากรูปเปนการลบแถวที่มี courseid = ‘DADJV2’ ออกจากตาราง course การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 74.
    บทที่ 4 การใชงานฐานขอมูลMySQL 70 การลบตาราง และฐานขอมูลดวยคําสัง DROP ่ DROP เปนคําสั่งที่ใชสําหรับลบตารางออกจากฐานขอมูล หรือใชลบฐานขอมูล โดยมี รูปแบบ ดังนี้ DROP TABLE tablename; หรือ DROP DATABASE databasename; โดยที่ TABLE tablename DATABASE databasename หมายถึง หมายถึง หมายถึง หมายถึง คําสั่งสําหรับลบตาราง ชื่อตารางที่ตองการลบ คําสั่งสําหรับลบฐานขอมูล ชื่อฐานขอมูลที่ตองการลบ ตัวอยาง การลบตารางออกจากฐานขอมูลดวยคําสั่ง DROP TABLE Mysql> Drop table course; ตัวอยาง การลบฐานขอมูลดวยคําสั่ง DROP DATABASE Mysql> Drop database mydata; จากตัวอยาง เปนการใชคําสัง DROP DATABASE เพื่อลบฐานขอมูล จะทําใหตารางทั้งหมด ่ ที่อยูใน ฐานขอมูล mydata นี้ถูกลบไปดวย ซึ่งการลบนี้เปนการลบแบบถาวรไมสามารถกูขอมูลคืน ได การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 75.
    บทที่ 4 การใชงานฐานขอมูลMySQL 71 สรุปคําสัง SQL ่ SQL Statements ALTER TABLE ALTER TABLE table_ name [ MODIFY | ADD | DROP ] [ colimn _ name ] [ datatype | NULL | NOT | NOT NULL ] [ ADD | DROP ] [ CONSTRAINT constraint _ name ] คําอธิบาย : แกไขโครงสรางของเทเบิ้ล COMMIT COMMIT [ transaction ] คําอธิบาย : บันทึกทรานแซกซั่นจากบัฟเฟอรฐานขอมูลเก็บลงในฐานะขอมูล CREATEINDEX CREATE INDEX index _ name ON table _ name ( column _ name ) คําอธิบาย : สรางอินเด็กซบนคอลัมนของเทเบิล CREATE TABLE CREATE TABLE table _ name ( column _ name 1 datatype [ NULL | NOT NULL ], column _ name 2 datatype [ NULL | NOT NULL ]… ) คําอธิบาย : สรางเทเบิล CREATE TABLE AS CREATE TABLE table _ name AS SELECT column _ name 1, column _ name 2,... การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 76.
    บทที่ 4 การใชงานฐานขอมูลMySQL 72 FROM table _ name [ WHERE conditions ] [ GROUP BY column _ name 1, column _ name 2,...] [ HAVING conditions ] คําอธิบาย : สรางเทเบิลดวยขอมูลจากเทเบิลอื่น CREATE VIEW CREATE VIEW AS SELECT FROM [ WHERE [ GROUP BY [ HAVING คําอธิบาย : สรางวิว column _ name 1, column _ name 2,... table _ name conditions ] column _ name 1 column _ name 2,...] cinditions ] DELETE DELETE FROM [ WHERE table _ name conditions] คําอธิบาย : ลบแถวขอมูลออกจากเทเบิล DROP INDEX DROP INDEX index _ name คําอธิบาย : ยกเลิกอินเด็กซของเทเบิล การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 77.
    บทที่ 4 การใชงานฐานขอมูลMySQL 73 DROP TABLE DROP TABLE table _ name คําอธิบาย : ยกเลิกเทเบิลทีสรางไว ่ DROP VIEW DROP VIEW view _ name คําอธิบาย : ยกเลิกวิว GRANT GRANTprivilegel , privilege 2,... TO user _ name คําอธิบาย : กําหนดสิทธิการใชงานฐานขอมูล INSERT INSERT INTO table _ name [( column _ name 1, column _ name 2,... VALUES ( ‘ valuel’, ‘ value2’ , ...) คําอธิบาย : เพิ่มขอมูลลงในเทเบิล INSERT...SELECT INSERT INTO table _ name SELECT column _ name 1, column _ name 2,...)] FROM table _ name [ WHERE conditions ] คําอธิบาย : ใสขอมูลลงในเทเบิลที่มีอยูแลว โดยดึงขอมูลที่ตองการมาจากเทเบิลอื่น การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 78.
    บทที่ 4 การใชงานฐานขอมูลMySQL 74 REVOKE REVOKE privilegel, privilege 2,... FROM user _ namr คําอธิบาย : เรียกสิทธิการใชงานฐานขอมูลคืนจากผูใช ROLLBACK ROLLBACK [ savepoint _ name ] คําอธิบาย : ยกเลิกทรานแซกซั่น SAVEPOINT SAVEPOINT savepoint _ name คําอธิบาย : กําหนดจุดเวลาของทรานแซกซั่น SELECT SELECT [ DISTINCT ] column _ name 1, column _ name 2,... FROM table _ name 1, table _ name 2,... [ WHERE conditions ] [ GROUP by cilumn _ name 1, column _ name 2,...] [ HAVING conditions ] [ ORDER by column _ name 1, column _ name 2,...] คําอธิบาย : สอบถามขอมูลจากเทเบิลเดียวหรือหลายเทเบิล UPDATE UPDATE tablr _ name SET column _ name 1 = ‘ value 1’ , column _ name 2 = ‘ value 2’ , [ WHERE conditions ] คําอธิบาย : ปรับปรุงหรือแกไขขอมูลในเทเบิล การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 79.
    บทที่ 4 การใชงานฐานขอมูลMySQL 75 SQL CLAUSES SELECT SELECT หรือ SELECT column _ name 1, cilumn _ name 2,... หรือ SELECT DISTINCT ( column _ name 1 ) หรือ SELECT COUNT ( * ) คําอธิบาย : กําหนดอลัมนทตองการแสดงผล ี่ FROM FROM table _ name 1 , table _ name 2,... คําอธิบาย : กําหนดเทเบิลที่ตองการดึงขอมูลจากฐานขอมูลมาแสดง WHERE WHERE < search _ condition > คําอธิบาย : กําหนดเงื่อนไขในการเลือกแถวขอมูลที่ตองการมาแสดง GROUP BY GROUP BY group _ column 1 , group _ column 2,... คําอธิบาย : จัดขอมูลที่มีอยูออกเปนกลุม HAVING HAVING < search _ condition > คําอธิบาย : ใชกําหนดเงื่อนไขใหกับกลุมดวย GROUP BY การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 80.
    บทที่ 4 การใชงานฐานขอมูลMySQL 76 ORDER BY ORDER BY { column _ name , column _ name 2,...[ ASCIDESC ]} [ 1, 2,...,n ] คําอธิบาย : เรียงลําดับแถวขอมูลตามคอลัมนที่ระบุไวหลัง ORDER BY กอนแสดงผล บนหนาจอ การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 81.
    บทที่ 4 การใชงานฐานขอมูลMySQL 77 การใชโปรแกรมจัดการฐานขอมูลดวย PhpMyAdmin PhpMyAdmin เปนเครื่องมือชวยในการใชงานระบบจัดการฐานขอมูล MySQL ชนิดหนึ่ง มี ความสามารถในการบริหารการทํางานของ Server และชวยในการสรางฐานขอมูลของ MySQL จุดเดนอีก ประการของ PhpMyAdmin คือ สนับสนุนการทํางานรวมกันของ ฐานขอมูล MySQL และ ภาษา PHP ความสามารถของโปรแกรม PhpMyAdmin มีดังนี้ • เปนโปรแกรมฟรีแวร • สามารถออกแบบ และสรางฐานขอมูลได • สามารถออกแบบ สราง และแกไขตารางได • จัดการการกําหนดการเชื่อมโยงระหวางฟลด • สามารถบริหารจัดการขอมูลในฐานขอมูลไดเปนอยางดี • แปลงขอมูลไดมากกวา 41 ภาษา การเรียกใชโปรแกรม PhpMyAdmin ทําการเปดโปรแกรม Internet Explorer แลวเรียก URL http://localhost/phpmyadmin/ ก็จะปรากฏ หนาจอภาพดังตัวอยาง การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 82.
    บทที่ 4 การใชงานฐานขอมูลMySQL 78 การสรางฐานขอมูล 1. คลิกเลือกที่ (ฐานขอมูล)............ใน Listbox 2. พิมพชื่อฐานขอมูลที่ตองการในชองของ “สรางฐานขอมูลใหม” ในทีนกําหนดชื่อเปน “library” ่ ี้ 3. คลิกที่ปุม “สราง” โปรแกรมจะทําการสรางฐานขอมูลที่ชื่อ “library” แตยังไมมตารางดังรูป ี การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 83.
    บทที่ 4 การใชงานฐานขอมูลMySQL 79 การสรางตาราง 1. ที่หนาแรกของการใชงานโปรแกรม จอภาพทางซายมือคลิกเลือกฐานขอมูลที่ตองการ ในที่นี้เลือก “library” 2. พิมพชื่อตารางในชอง “ชื่อ” ในที่นกําหนดใหสรางตารางชื่อ “book” แลวกําหนดจํานวนฟลด เปน ี้ 6 จากนั้นคลิกที่ปุม “ลงมือ” 3. จะปรากฏหนาจอใหกรอกขอมูล โดยตัวอยางนี้จะเปนการการสรางตาราง “book” เพื่อเก็บขอมูล โดยมีรายละเอียดดังนี้ Field Name Barcode Title Author Price Type Year Data Type int(5) varchar(50) varchar(40) varchar(20) varchar(40) varchar(4) Description รหัสหนังสือ ชื่อหนังสือ ชื่อผูแตง ราคา ประเภทหนังสือ ปที่พิมพ การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 84.
    บทที่ 4 การใชงานฐานขอมูลMySQL 80 4. เมื่อกรอกขอมูลครบแลว คลิกที่ปุม “บันทึก” จะปรากฏขอมูลของตาราง “book” ดังรูป การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 85.
    บทที่ 4 การใชงานฐานขอมูลMySQL 81 การเพิ่มขอมูลลงในตาราง 1. ที่หนาแรกของการใชงานโปรแกรม จอภาพทางซายมือคลิกเลือกฐานขอมูลที่ตองการ ในที่นี้เลือก “library” จากนั้นเลือกตารางที่ตองการเพิมขอมูล ในที่นี้เลือก “book” ่ 2. จากนั้นเลือกทีเ่ มนู “แทรก” เพื่อทําการเพิ่มขอมูล 3. กรอกขอมูลตามตองการ เสร็จแลวคลิกที่ปม “ลงมือ” ุ 4. จะปรากฏหนาแสดงรายละเอียดการเพิ่มขอมูลใหมดังรูป การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 86.
    บทที่ 4 การใชงานฐานขอมูลMySQL 82 การเรียกดูขอมูลในตาราง 1. ที่หนาแรกของการใชงานโปรแกรม จอภาพทางซายมือคลิกเลือกฐานขอมูลที่ตองการ ในที่นี้เลือก “library”จากนั้นเลือกตารางที่ตองการเพิมขอมูล ในที่นี้เลือก “book” ่ 2. จากนั้นเลือกทีเ่ มนู “เปดดู” เพื่อทําการเรียกดูขอมูล การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 87.
    บทที่ 4 การใชงานฐานขอมูลMySQL 83 รูปแสดงขอมูลภายในตาราง book การแกไขขอมูลในตาราง 1. ที่หนาแรกของการใชงานโปรแกรม จอภาพทางซายมือคลิกเลือกฐานขอมูลที่ตองการ ในที่นี้เลือก “library” จากนั้นเลือกตารางที่ตองการเพิมขอมูล ในที่นี้เลือก “book” ่ 2. จากนั้นเลือกทีเ่ มนู “เปดดู” เพื่อทําการเรียกดูขอมูล กอนทําการแกไข 3. เลือกแถวของขอมูลที่ตองการแกไขโดยการคลิกที่ “แกไข” หนาแถวขอมูลที่ตองการ 4. จากนั้นโปรแกรมจะแสดงรายละเอียดของขอมูล ใหทําการแกไขตามตองการเสร็จแลวคลิกที่ “ลง มือ” การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 88.
    บทที่ 4 การใชงานฐานขอมูลMySQL 84 รูปแสดงขอมูลที่ไดทําการเปลี่ยนแปลงภายในตาราง book การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 89.
    บทที่ 4 การใชงานฐานขอมูลMySQL 85 การลบขอมูลในตาราง 1. ที่หนาแรกของการใชงานโปรแกรม จอภาพทางซายมือคลิกเลือกฐานขอมูลที่ตองการ ในที่นเี้ ลือก “library” จากนั้นเลือกตารางที่ตองการเพิมขอมูล ในที่นี้เลือก “book” ่ 2. จากนั้นเลือกที่เมนู “เปดดู” เพื่อทําการเรียกดูขอมูล กอนทําการแกไข 3. เลือกแถวของขอมูลที่ตองการลบโดยการคลิกที่ “ลบ” หนาแถวขอมูลที่ตองการ 4. จากนั้นโปรแกรมจะทําการแสดงหนาตางยืนยันการลบขอมูลใหตอบ OK รูปภาพแสดงขอความวาไดทําการลบขอมูลเรียบรอยแลว การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 90.
    บทที่ การจัดการฐานขอมูลดวยคําสั่งในโปรแกรม Dreamweaver 5 โปรแกรม DreamweaverMX นั้นยังมีสวนที่ชวยในการพัฒนาโปรแกรมออนไลนไดงายและรวดเร็ว มากขึ้นดวยเครื่องมือตางๆ ในบทนี้จะแนะนําการจัดการฐานขอมูลดวยคําสั่งสําเร็จรูปในโปรแกรม Dreamweaver เพื่อความสะดวกรวดเร็วและงายตอการพัฒนาโปรแกรมออนไลน การกําหนดโลคอลไซตในโปรแกรม Dreamweaver เพื่อทํางานรวมกับ PHP และ MySQL กอนการทํางานกับฐานขอมูลและภาษาคอมพิวเตอรเราจําเปนจะตองกําหนดลักษณะและชนิดของ โลคอลไซตใหสามารถรองรับการใชภาษา PHP รวมทั้งเชื่อมโยงกับฐานขอมูล MySQL เสียกอน โดยมีขั้นตอน ดังนี้ 1. ที่โปรแกรม Dreamweaver MX เลือกคําสั่ง Site > Manage Sites จะปรากฏกรอบโตตอบ Manage Sites 2. คลิกที่ปุม New เลือกที่คําสั่ง Site จะปรากฏกรอบโตตอบ Site Definition ตั้งชื่อ Site ที่ตองการใน ที่นี้ตั้งเปน LIBRARY จากนั้นคลิกที่ปุม Next การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 91.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 87 3. เลือก Server Technology เปน PHP MySQL จากนั้นคลิกที่ปุม Next การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 92.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 88 4. เลือกแหลงเก็บขอมูลภายในเครื่องในที่นคือ C:Appservwwwlibrary จากนันคลิกปุม Next ี้ ้ ้ 5. กําหนด URL ที่จะใชแสดงผลของเว็บไซตที่สรางขึ้นในที่นี้ใส http://localhost/library/ จากนัน คลิกที่ปุม Next การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 93.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 89 6. ทําการเลือก No แลวคลิกที่ปม Next ุ 7. ระบบจะทําการแสดงรายละเอียดและขอมูลของไซตที่สรางขึ้นใหมจากนั้นคลิกที่ปุม Done การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 94.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 90 8. จะปรากฏชื่อไซตใหมในกรอบโตตอบ Manage Sites คลิกที่ปุม Done เพื่อออกจากการ กําหนดโลคอลไซต การกําหนดการเชื่อมตอกับฐานขอมูล 1. เริ่มตนที่โปรแกรม Dreamweaver MX คลิกเมนู File > New จะปรากฏไดอะล็อก New Document ขึ้นมา ใหคลิกแท็บ General คลิกเลือก Dynamic Page > PHP 2. เปดพาเนล Database โดยเลือกคําสั่ง Window > Database จากนั้นคลิกที่ไอคอน เลือก MySQL Connect 3. จะปรากฏกรอบโตตอบ MySQL Connect ใหกําหนดคาโดยมีรายละเอียดดังรูป 4. เมื่อกําหนดรายละเอียดตามตองการแลวใหคลิกปุม OK 5. เมื่อกําหนดการเชื่อมโยงถูกตอง จะปรากฏชื่อตัวแปรทีใชติดตอฐานขอมูลที่ตั้งไว ในแท็บของ ่ Databases การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 95.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 91 การสรางระบบแสดงผลขอมูล ในสวนของระบบแสดงขอมูลนี้จะประกอบดวยไฟล 1 ไฟล ดังรูป กอนอื่นทําการสรางไฟล PHP ใหมแลวทําการบันทึกชือ show_book.php แลวทําการสรางตาราง ่ สําหรับแสดงผลขอมูล โดยจะเปนการแสดงขอมูลทีละหลายๆ เร็คคอรดลงในเว็บเพจ พรอมทั้งมีการปรับแตง รูปแบบโดยใชเครื่องมือของ Dreamweaver MX กอนดังรูป 1. เปดพาเนล Sever Behaviors โดยเลือกคําสั่ง Window > Sever Behaviors จากนั้นคลิกที่ไอคอน เลือก Recordset 2. จะปรากฏกรอบโตตอบ Recordset โดยมีรายละเอียดดังนี้ การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 96.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 92 Name Connection กําหนดชื่อเรคคอรดเซ็ตที่ตองการ ในที่นกาหนดเปน show_book ี้ ํ ชื่อฐานขอมูลที่ตองการเชื่อมตอ โดยสรางมาแลวในหัวขอการเชื่อมตอ ฐานขอมูลในที่นี้ เลือก conn_library SQL เปนคําสั่ง SQL โดยคําสั่งจะเกิดจากการคลิกปุมคําสั่ง หรือพิมพเพิ่มเองก็ได Variables กําหนดชื่อของตัวแปร และคําสั่งในการรับคาตัวแปร Database Item เลือกรูปแบบที่ตองการดูรายละเอียดของตาราง Add to SQL รูปแบบคําสั่งที่ตองการมีอยู 3 ปุมใหเลือกคือ Select, Where และ Order By ซึ่งเปนคําสั่งภาษา SQL โดยในที่นี้เลือกคําสั่ง Select 3. คลิกปุม OK จะปรากฏเรคคอรดเซ็ตที่กําหนดใหในแท็บ Bindings ดังรูป การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 97.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 93 4. จากนั้นแทรกคําสั่งสําหรับแสดงผลขอมูลลงในตารางโดยการคลิกเลือกและแทรกฟลดตาราง เพื่อแสดงผลขอมูล ตามขั้นตอนทําจนครบทุกชองตาราง ดังรูป 5. จากนั้นคลิกเมาสใหเคอรเซอรอยูในบริเวณบรรทัดที่แสดงผล หลังจากนั้นใหคลิกเลือกแท็ก <TR> บน Tag Selector 6. คลิกที่เมนู Window > Server Behaviors หลังจากนันใหคลิกเครื่องหมายบวก ้ เพื่อเลือกเมนู Repeat Region เมื่อปรากฏไดอะล็อก Repeat Region ใหกําหนดคาตางๆ ดังรายละเอียดดังรูปดานลางนี้ หลังจากนันใหคลิกปุม OK ้ การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 98.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 94 7. จากนั้นทําการบันทึก แลวกดปุม F12 จะแสดงผลลัพธบนบราวเซอรดังรูป การสรางระบบเพิ่มขอมูล ระบบเพิ่มขอมูล คือเว็บเพจที่ทําหนาทีในการรับขอมูลจากผูใชผานฟอรม และบันทึกการกรอกขอมูล ่ เขาจัดเก็บในฐานขอมูล ในที่นี้จะประกอบดวยไฟล 2 ไฟล ดังรูป เริ่มตนที่โปรแกรม Dreamweaver MX คลิกเมนู File > New จะปรากฏไดอะล็อก New Document ขึ้นมา ใหคลิกแท็บ General คลิกเลือก Dynamic Page > PHP หลังจากนั้นคลิกปุม Create บันทึกเปนไฟล insert.php แลวทําการสรางฟอรมสําหรับรับขอมูลโดยใชเครื่องมือของ Dreamweaver MX กอนดังรูป การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 99.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 95 1. เปดไดอะล็อก Properties โดยคลิกเมนู Window > Properties หลังจากนั้นใหพิมพชอฟอรม ื่ frmAdd ที่ชอง Form name บวก 2. เปดแถบ Server Behaviors โดยคลิกเมนู Window > Server Behaviors แลวคลิกที่ปุมเครื่องหมาย เลือกรายการ Insert Record จากเมนู ดังรูป 3. เมื่อปรากฏไดอะล็อก Insert Record ขั้นตอนตอจากนี้ ก็จะเปนการกําหนดคาในไดอะล็อก Insert Record ซึ่งรายละเอียดการกําหนดคาตางๆ มีดังตอไปนี้ การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 100.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 96 4. ทําการบันทึกไฟล insert.php ก็เปนอันเสร็จขั้นตอนการแทรก Insert Record Server behavior 5. ขั้นตอนสุดทายของระบบเพิมขอมูลคือ การสรางไฟลแสดงผลการทํางาน ซึ่งจะประกอบดวย ่ ขอความ แสดงใหผูใชทราบวาการกรอกขอมูลเสร็จเรียบรอยแลวเทานัน ใหสรางเว็บเพจขึ้นมาและพิมพ ้ ขอความสําหรับแสดงผลการเพิ่มขอมูล บันทึกเปนไฟลชื่อ insert_ok.php 6. เริ่มตนโดยใชโปรแกรม Dreamweaver MX เปดไฟล insert.php ขึ้นมา แลวกดปุม F12 โปรแกรม Internet Explorer จะถูกเปดขึ้นมาเรียกใชงานไฟล insert.php หลังจากนันใหทดลองกรอกขอมูล ้ และคลิกปุม Insert เพื่อบันทึกขอมูล เสร็จแลวรอดูผลที่จะแสดงจากไฟล insert_ok.php การสรางระบบแกไขขอมูล ระบบแกไขขอมูล คือระบบเว็บเพจที่จัดทําขึ้นเพื่อใหผูใชสามารถเรียกดูขอมูลเร็คคอรดเดิมจากตาราง ของฐานขอมูล และผูใชสามารถแกไขปรับปรุงขอมูลใหเปนปจจุบัน หลังจากนั้นก็สามารถบันทึกขอมูลที่แกไข แลวลงในตารางของฐานขอมูลได การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 101.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 97 กอนอื่นทําการสรางไฟล PHP ใหมแลวทําการบันทึกชือ update.php แลวทําการสรางฟอรมสําหรับ ่ แกไขขอมูลโดยใชเครื่องมือของ Dreamweaver MX กอนดังรูป 1. เปดไดอะล็อก Properties โดยคลิกเมนู Window > Properties หลังจากนั้นใหพิมพชอฟอรม ื่ frmUpdate ที่ชอง Form name ขั้นตอนการสราง recordset สําหรับคนหาขอมูลเร็คคอรดที่ตองการแกไข 1. คลิกที่เมนู Window > Server Behaviors หลังจากนันใหคลิกปุมเครื่องหมายบวก ้ รายการ Recordset และเลือก การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 102.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 98 2. เมื่อปรากฏไดอะล็อก Recordset ขึ้นมา ใหกําหนดคาตางๆ ดังรายละเอียดขางลางนี้ หลังจากนัน ้ คลิกปุม OK 3. บันทึกไฟล update.php ขั้นตอนการแทรกสคริปตสาหรับแสดงขอมูลเดิมในฟอรม HTML ํ 1. เริ่มตนเปดโปรแกรม Dreamweaver MX ไปที่ไฟล update.php คลิกที่เมนู Window > Bindings หลังจากนันใหคลิกเครื่องหมายบวก ้ หนารายการ Recordset (update_book) จะปรากฏชื่อฟลด ใหคลิก เลือก และแทรกฟลดลงในอ็อบเจ็คตของฟอรมเพื่อแสดงผลขอมูล ดังรูปดานลาง การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 103.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 99 2. บันทึกไฟล update.php ก็เปนอันเสร็จการแสดงผลขอมูลลงในฟอรม การแทรก Update Record Server Behavior ลงในเว็บเพจ การแทรก Update Record Server Behavior ก็คือการแทรกสคริปต PHP เพื่อสั่งใหบนทึกการแกไข ั ขอมูลลงตารางของฐานขอมูล 1. เริ่มตนที่โปรแกรม Dreamweaver MX เปดไฟล update.php หลังจากนั้นใหคลิกเมาสที่ตําแหนง ใดๆ ภายใตเสนประสีแดง ที่เปนขอบเขตของฟอรม 2. คลิกเมนู Insert > Form > Hidden Field หลังจากนันคลิกเมาสที่อ็อบเจ็คต Hidden Field จะ ้ ปรากฏไดอะล็อก Properties ของ Hidden Field (หากไมปรากฏไดอะล็อก Properties ใหคลิกที่เมนู Windows > Properties) และใหกําหนดคาในไดอะล็อกดังตอไปนี้ บวก 3. เปดแถบ Server Behaviors โดยคลิกเมนู Window > Server Behaviors แลวคลิกที่ปมเครื่องหมาย ุ เลือกรายการUpdate Record จากเมนู 4. เมื่อปรากฏไดอะล็อก Update Record ใหกําหนดคาตางๆ มีดังตอไปนี้ การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 104.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 100 5. บันทึกไฟล update.php ก็เปนอันเสร็จขั้นตอนการแทรก Update Record Server behavior การสงและรับคา URL Parameter เพื่อระบุเร็คคอรดที่ตองการแกไข  ขั้นตอนนี้ ก็คอการทําใหไฟลเว็บเพจ 2 ไฟล show_book.php และ update.php สามารถเชื่อมโยงเพื่อ ื สงและรับคา URL Parameter กันไดนั่นเอง 1. เริ่มตนที่โปรแกรม Dreamweaver MX เปดไฟล show_book.php ขึ้นมา แลวลากเมาสทําไฮไลต ขอความ "แกไข" ดังรูป 2. เปดไดอะล็อก Properties โดยคลิกที่เมนู Window > Properties จะปรากฏไดอะล็อก Properties ขึ้นมา ใหคลิกไอคอนรูป Folder สีเหลือง (Browse for File) ที่ตําแหนงชอง Link เพื่อสรางไฮเปอรลิงค สําหรับ URL Parameter ไปหาไฟล update.php การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 105.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 101 3. เมื่อปรากฏไดอะล็อก Select File ขึ้นมา ใหคลิกเลือกไฟล update.php เปนการกําหนดวาจะสงคา URL Parameter ไปที่ไฟลนี้ หลังจากนันใหคลิกปุม Parameters ที่ดานลางของไดอะล็อก Select File เพื่อ ้ กําหนดการสงคา URL Parameter 4. เมื่อปรากฏไดอะล็อก Parameters ขึ้นมา ที่ชอง Name ใหพิมพชื่อ URL Parameter ที่ตองการ จะสงไป ในทีนี้ใหเราพิมพ key_barcode หลังจากนันใหไปที่ชอง Value เพื่อกําหนดคาที่จะสงไป ในที่นี้ ่ ้ เราตองการกําหนดคาใหเปลียนไปแบบ Dynamic ตามขอมูลที่แสดงในแตละเร็คคอรด ใหคลิกปุม Dynamic ่  Data ที่ชอง Value 5. เมื่อปรากฏไดอะล็อก Dynamic Data ขึ้นมา ใหคลิกเลือกฟลด Barcode จาก Recordset ้ (show_book) หลังจากนันคลิกปุม OK 6. บันทึกไฟล show_book.php ก็เปนเสร็จขันตอนการกําหนดการสงคา URL Parameter ้ การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 106.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 102 7. ขั้นตอนสุดทายคือกําหนดใหไฟล update.php รับคา URL Parameter ที่สงมาจากไฟล show_book.php ซึ่งวิธีการทํานั้น เราไดทําผานมาแลวใหยอนกลับไปดูในขั้นตอน “การสราง recordset สําหรับคนหาขอมูลเร็คคอรดที่ตองการแกไข" จะเห็นไดวาเราไดมีการเรียกใช URL Parameter “key_barcode” ซึ่งก็คือคา URL Parameter ที่สงไปจากไฟล show_book.php นั่นเอง การแสดงผลลัพธการแกไขขอมูล ขั้นตอนสุดทายของระบบแกไขขอมูลคือ การสรางไฟลแสดงผลการทํางาน ซึ่งจะประกอบดวย ขอความ แสดงใหผูใชทราบวาการแกไขขอมูลเสร็จเรียบรอยแลวเทานัน ใหสรางเว็บเพจขึ้นมาและพิมพ ้ ขอความสําหรับแสดงผลการแกไขขอมูล บันทึกเปนไฟล update_ok.php การใชงานระบบแกไขขอมูล เริ่มตนโดยใชโปรแกรม Dreamweaver MX เปดไฟล show_book.php ขึ้นมา แลวกดปุม F12 โปรแกรม Internet Explorer จะถูกเปดขึ้นมาเรียกใชงานไฟล show_book.php หลังจากนั้นใหคลิกปุม "แกไข" เพื่อแกไขขอมูลแตละเร็คคอรด เสร็จแลวคลิกปุม Edit เพื่อบันทึกขอมูล รอดูผลที่จะแสดงจากไฟล update_ok.php การสรางระบบลบขอมูล การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 107.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 103 ขั้นตอนการสรางฟอรมและตารางแสดงขอมูลที่ตองการลบ 1. เริ่มตนที่โปรแกรม Dreamweaver MX คลิกเมนู File > New จะปรากฏไดอะล็อก New Document ขึ้นมา ใหคลิกแท็บ General คลิกเลือก Dynamic Page > PHP หลังจากนั้นคลิกปุม Create บันทึกเปนไฟล delete.php 2. แทรกฟอรมและตาราง ปรับแตงรูปแบบของเว็บเพจโดยใช Background Image ไฟลรูปภาพ รวมทั้งขอความดังรูป 3. คลิกวางเมาสภายในเสนประสีแดงของฟอรม และคลิกแท็ก <FORM> ที่ Tag Selector 4. เปดไดอะล็อก Properties โดยคลิกเมนู Window > Properties หลังจากนั้นใหกาหนดคุณสมบัติ ํ ของฟอรม HTML ในชอง Form name เปน "frmDelete" และ Method เปน "POST" ดังรูป การสราง Recordset เพื่อคนหาขอมูลเร็คคอรดที่ตองการลบ ขั้นตอนนี้จะเปนการคนหาเอาขอมูลเร็คคอรดที่ตองการลบ เพื่อนําเอามาแสดงในตารางใหผูใชยนยัน ื หรือยกเลิกการลบ 1. คลิกที่เมนู Window > Server Behaviors หลังจากนั้นใหคลิกปุมเครืองหมายบวก ่ และเลือก รายการ Recordset การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 108.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 104 2. เมื่อปรากฏไดอะล็อก Recordset ขึ้นมา ใหกําหนดคาตางๆ ดังรายละเอียดขางลางนี้ หลังจากนัน ้ คลิกปุม OK การแสดงผลขอมูลเพื่อยืนยันหรือยกเลิกการลบ ขั้นตอนนี้จะเปนการแทรกสคริปตสําหรับนําเอาฟลดจากการสราง Recordset ในขั้นตอนการคนหา ขอมูลมาแสดงผลในฟอรมของเว็บเพจ เพื่อแสดงขอมูลเพื่อยืนยันกอนที่จะลบ 1. เริ่มตนที่ไฟล delete.php คลิกที่เมนู Window > Bindings หลังจากนั้นใหคลิกเครื่องหมายบวก หนารายการ Recordset จะปรากฏชื่อฟลด ใหคลิกเลือกและแทรกฟลดลงในอ็อบเจ็คตของฟอรมเพื่อ แสดงผลขอมูล ดังรูป การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 109.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 105 2. บันทึกไฟล delete.php ก็เปนอันเสร็จการแสดงผลขอมูลลงเว็บเพจ การแทรกสคริปต Delete Record Server Behavior การแทรก Delete Record Server Behavior เปนการแทรกสคริปต PHP สําหรับการลบขอมูลออกจาก ตารางของฐานขอมูล 1. เริ่มตนที่โปรแกรม Dreamweaver MX เปดไฟล delete.php หลังจากนั้นใหคลิกเมาสที่ตําแหนง ใดๆ ภายใตเสนประสีแดง ที่เปนขอบเขตฟอรมของการลบขอมูล 2. คลิกเมนู Insert > Form > Hidden Field คลิกเมาสที่อ็อบเจ็คต Hidden Field จะปรากฏไดอะล็อก Properties ของ Hidden Field (หากไมปรากฏไดอะล็อก Properties ใหคลิกที่เมนู Windows > Properties) และ ใหกําหนดคาในไดอะล็อกดังตอไปนี้ บวก 3. เปดแถบ Server Behaviors โดยคลิกเมนู Window > Server Behaviors แลวคลิกที่ปมเครื่องหมาย ุ เลือกรายการ Delete Record จากเมนู การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 110.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 106 4. เมื่อปรากฏไดอะล็อก Delete Record ใหเรากําหนดคาในไดอะล็อก Delete Record กําหนดคา ตางๆ ดังตอไปนี้ 5. บันทึกไฟล delete.php ก็เปนอันเสร็จขันตอนการแทรก Delete Record Server behavior ้ การสงและรับคา URL Parameter เพื่อคนหาขอมูลเร็คคอรดที่ตองการลบ ขั้นตอนนี้ ก็คอการทําใหไฟลเว็บเพจ 2 ไฟล show_book.php และ delete.php สามารถเชื่อมโยงเพื่อ ื สงและรับคา URL Parameter กันไดนั่นเอง 1. เริ่มตนที่โปรแกรม Dreamweaver MX เปดไฟล show_book.php ขึ้นมา แลวลากเมาสทําไฮไลต ขอความ "ลบ" การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 111.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 107 2. เปดไดอะล็อก Properties โดยคลิกที่เมนู Window > Properties จะปรากฏไดอะล็อก Properties ขึ้นมา ใหคลิกไอคอนรูป Folder สีเหลือง (Browse for File) ที่ตําแหนงชอง Link เพื่อสรางไฮเปอรลิงค สําหรับ URL Parameter ไปหาไฟล delete.php 3. เมื่อปรากฏไดอะล็อก Select File ขึ้นมา ใหคลิกเลือกไฟล delete.php เปนการกําหนดวาจะสงคา URL Parameter ไปที่ไฟลนี้ หลังจากนันใหคลิกปุม Parameters ที่ดานลางของไดอะล็อก Select File เพื่อ ้ กําหนดการสงคา URL Parameter 4. เมื่อปรากฏไดอะล็อก Parameters ขึ้นมา ที่ชอง Name ใหพิมพชื่อ URL Parameter ที่ตองการ จะสงไป ในทีนี้ใหเราพิมพ Barcode หลังจากนั้นใหไปที่ชอง Value เพื่อกําหนดคาที่จะสงไป ในที่นี้เรา ่ ตองการกําหนดคาใหเปลียนไปแบบ Dynamic ตามขอมูลที่แสดงในแตละเร็คคอรด ใหคลิกปุม Dynamic Data ่ ที่ชอง Value การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 112.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ คาของไดอะล็อก Name Value 108 คาที่กําหนด Barcode <?php echo $row_show_book['Barcode']; ?> 5. บันทึกไฟล show_book.php ก็เปนเสร็จขั้นตอนการกําหนดการสงคา URL Parameter 6. ขั้นตอนสุดทายคือกําหนดใหไฟล delete.php รับคา URL Parameter ที่สงมาจากไฟล show_book.php ซึ่งวิธีการทํานั้น เราไดทําผานมาแลวใหยอนกลับไปดูในขั้นตอน "การสราง Recordset เพื่อ คนหาขอมูลเร็คคอรดที่ตองการลบ" จะเห็นไดวา เราไดมีการเรียกใช URL Parameter “Barcode” ซึ่งก็คือคา URL Parameter ที่สงไปจากไฟล show_book.php นั่นเอง การแสดงผลลัพธการลบขอมูล ขั้นตอนสุดทายของระบบลบขอมูลคือ การสรางไฟลแสดงผลการทํางาน ซึ่งจะประกอบดวยขอความ แสดงใหผใชทราบวาการลบขอมูลเสร็จเรียบรอยแลวเทานั้น ใหสรางเว็บเพจขึ้นมาและพิมพขอความสําหรับ ู แสดงผลการลบขอมูล บันทึกเปนไฟล delete_ok.php การใชงานระบบลบขอมูล เริ่มตนโดยใชโปรแกรม Dreamweaver MX เปดไฟล show_book.php ขึ้นมา แลวกดปุม F12 โปรแกรม การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  • 113.
    บทที่ 5 การจัดการฐานขอมูลดวยคําสังในโปรแกรมDreamweaver ่ 109 Internet Explorer จะถูกเปดขึ้นมาเรียกใชงานไฟล show_book.php หลังจากนั้นใหคลิกปุม "ลบ" เพื่อลบ ขอมูลทีละเร็คคอรด เสร็จแลวคลิกปุม ตกลง หรือ ยกเลิก เพื่อยืนยันหรือยกเลิกการลบขอมูล รอดูผลการ ทํางานที่จะแสดงผลจากไฟล delete_ok.php การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย