บทที่ 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 โดย เสกสรรค ศิวิลัย
บทที่ 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 โดย เสกสรรค ศิวิลัย
บทที่ 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 โดย เสกสรรค ศิวิลัย
บทที่ 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 โดย เสกสรรค ศิวิลัย
บทที่ 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 โดย เสกสรรค ศิวิลัย
บทที่ 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 โดย เสกสรรค ศิวิลัย