สารบัญ
การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL
บทนํา
บทที่ 1 การใชงานโปรแกรม AppServ
ทําความรูจักกับโปรแกรม AppServ...
รูจักกับฐานขอมูล MySQL
คําสั่งที่ใชทํางานกับฐานขอมูล MySQL
สรุปคําสั่ง SQL
การใชโปรแกรมจัดการฐานขอมูลดวย PhpMyAdmin...
บทนํา
ปจจุบันระบบคอมพิวเตอรไดเขามามีบทบาทอยางมากตอหนวยงาน หรือองคกรตางๆ ไมวาจะเปน
ภาครัฐหรือภาคเอกชน เพราะระบบ...
บทที่
การใชงานโปรแกรม AppServ

1

ทําความรูจักกับโปรแกรม AppServ
AppServ คือโปรแกรมที่รวบรวมเอา Open Source Software หลา...
บทที่ 1 การใชงานโปรแกรม AppServ

2

วิธีการติดตั้งโปรแกรม AppServ
เตรียมโปรแกรมเพื่อติดตัง
้
ดาวนโหลดโปรแกรม AppServ จาก...
บทที่ 1 การใชงานโปรแกรม AppServ

3

2. เขาสูขั้นตอนเงื่อนไขการใชงานโปรแกรม โดยโปรแกรม AppServ ไดแจกจายในรูปแบบ GNU
L...
บทที่ 1 การใชงานโปรแกรม AppServ

4

4. เลือก Package Components ที่ตองการติดตัง โดยคาเริ่มตนนั้นจะใหเลือกลงทุก Packag...
บทที่ 1 การใชงานโปรแกรม AppServ

5

5. กําหนดคาคอนฟกของ Apache Web Server มีอยูดวยกันทั้งหมด 3 สวน ตามรูป คือ

Serve...
บทที่ 1 การใชงานโปรแกรม AppServ

6

6. กําหนดคาคอนฟกของ MySQL Database มีอยูดวยกันทังหมด 3 สวน ตามรูป คือ
้
Root Pas...
บทที่ 1 การใชงานโปรแกรม AppServ

7

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

8

วิธีการใชงาน AppServ
ทดสอบการใชงานเบื้องตน
หลังจากติดตังโปรแกรม AppServ และเขาใจถ...
บทที่
การสรางและการใชงานฟอรมในการรับขอมูล

2

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

10

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

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

11

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

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

12

วิธีการสราง Button ทําไดโดยการคลิกเมนู Insert > Form > Button เสร็จ...
บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล

13

คุณสมบัติของอ็อบเจ็คต Check Box
• CheckBox กําหนดชื่อของอ็อบเจ็คต C...
บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล

14

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

อ็อบเจ็คตชนิด List/Menu ทําห...
บทที่ 2 การสรางและการใชงานฟอรมในการรับขอมูล

15

คุณสมบัติของอ็อบเจ็คต File Field
• FileField กําหนดชื่อของอ็อบเจ็คต...
บทที่
การเขียนโปรแกรมดวยภาษา PHP

3

ทําความรูจักกับภาษา PHP
ภาษา PHP ถูกสรางขึ้นในป ค.ศ. 1994 โดย Rasmus Lerdorf ตอม...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

17

เริ่มตนเขียนโปรแกรมดวยภาษา PHP
เมื่อทําการติดตั้งชุดติดตั้งโปรแกรม PHP แอพพลิเค...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

18

SGML Style
<? echo ("This is the PHP Commandn"); ?>
XML Style
<?php echo("This is...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

19

//By C style
<? echo "<font color=red>CGI PHP is easy by C style </font><br>n" ?>...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

20

การจัดการกับ HTML Form
จากที่ผานมาเราไดทดสอบเขียน PHP กันแลว แตเขียนในรูปของ ...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

21

ตัวอยาง file php
order.php
<html>
<head><title>Form สั่งซื้อสินคา</title>
</hea...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

22

ผลลัพธ

คําอธิบาย
ใน file order.html เราไดกําหนดตัวแปรไว ดังนี้
$name = ชื่อผู...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

23

1. Integer จํานวนเต็ม
ตัวอยาง Integer ไดแก
$a = 1234; # decimal number
$a = -1...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

24

$day[3]="Wednesday";
$day[4]="Thursday";
$day[5]="Friday";
$day[6]="Saturday";
$d...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

25

ตัวอยาง Array หลายมิติ
<?
$a = array(
"toyota" => array(
"color" => "red",
"type...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

26

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

5. Object วัตถุ
เชน
class foo {
function do_foo () {
echo "D...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP
•
•
•
•

27

Bitwise Operators
Logical Operators
Comparison Operators
Operator Precede...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

28

3. Assignment Operators
PHP สามารถกําหนดคา Assignment หรือเปลี่ยนแปลงคาใหกับตั...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

29

6. Comparison Operators
การเปรียบเทียบตัวเลข หรือตัวแปร 2 ตัว
Operator
$a == $b
$...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

30

ผลลัพธที่ได
30
การลบ
ตัวอยางการลบ
<HTML>
<HEAD><TITLE>ตัวอยางการคํานวน</TITLE...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

31

ผลลัพธที่ได
300
การหาร
ตัวอยางการหาร
<HTML>
<HEAD><TITLE>ตัวอยางการคํานวน</TI...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

32

การคํานวนโดยใชเครื่องหมายวงเล็บ
ตัวอยาง
<HTML>
<HEAD><TITLE>ตัวอยางการคํานวน</...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

33

คําสั่ง Control Structures แรกที่เราจะศึกษากันก็คือ IF ดังตอไปนี้
IF
คําสั่ง if ...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

34

IF ELSE
เปนคําสั่ง if เหมือนเดิม แตเพิ่มสถานการณวา ถามีเหตุการณเปนเท็จเกิด...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

35

ถาไมเทากับ 500 ใหพิมพคําวา "ตัวแปรตัวนี้ไมเทากับ 500 ขนาดตัวอักษรเทากับ ...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

36

ผลลัพธ
a is smaller than b
คําอธิบาย
กําหนดให $a มีคาเทากับ 20
กําหนดให $b ม...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

37

ตัวอยางคําสัง
่
<?
$i = 1;
while ($i <= 10) {
print $i++;
}
?>
ผลลัพธ
123456789...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

38

ตัวอยางคําสัง
่
<?
for ($i = 1; $i <= 6; $i++)
{
print "<h$i>Hi hello</h$i><br>"...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

39

format เปนขอมูลชนิดขอความ หมายถึงรูปแบบการแสดงผลที่ตองการ
timestamp เปนขอมู...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

40

เชน
strftime("%H:%M:%S");
จะไดผลลัพธเปน 15:24:24
รูปแบบการแสดงผลเวลา
คาที่กํ...
บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP

41

การเรียกใชฐานขอมูล MySQL
คําสั่งใน MySQL ที่ใชเรียกฐานขอมูลมาใชงานดังนี้
Mys...
บทที่
การใชงานฐานขอมูล MySQL

4

ทําความรูจักกับฐานขอมูล
ฐานขอมูล คือ กลุมของขอมูลที่มีความสัมพันธกัน โดยอาจถูกจัด...
บทที่ 4 การใชงานฐานขอมูล MySQL

43

• การใชขอมูลรวมกัน ( Data Sharing ) แตละหนวยงานในองคกรสามารถใชขอมูลรวมกันได...
บทที่ 4 การใชงานฐานขอมูล MySQL

44

เรคคอรด (Record) หมายถึง หนวยของขอมูลที่เกิดจากการนําเอา ฟลดหลายๆ ฟลด มารวมกั...
บทที่ 4 การใชงานฐานขอมูล MySQL

45

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

EMPNAME
SIRIWAN
ARLEE
WICHAI
JIN...
บทที่ 4 การใชงานฐานขอมูล MySQL

พนักงาน
ชื่อ

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

46

โครงการ

รหัส
แผนก

เงินเดือน

ชื่อโครงการ รหัสโครงการ...
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Phptraining
Upcoming SlideShare
Loading in...5
×

Phptraining

407

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
407
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
58
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Phptraining

  1. 1. สารบัญ การเขียนโปรแกรมออนไลนดวยภาษา 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
  2. 2. รูจักกับฐานขอมูล MySQL คําสั่งที่ใชทํางานกับฐานขอมูล MySQL สรุปคําสั่ง SQL การใชโปรแกรมจัดการฐานขอมูลดวย PhpMyAdmin 54 55 91 96 บทที่ 5 การจัดการฐานขอมูลดวยคําสังสําเร็จรูปในโปรแกรม Dreamweaver ่ การติดตอฐานขอมูล การสรางระบบแสดงผลขอมูล การสรางระบบเพิ่มขอมูล การสรางระบบแกไขขอมูล การสรางระบบลบขอมูล 105 109 112 114 120 สารบัญ(ตอ) การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL
  3. 3. บทนํา ปจจุบันระบบคอมพิวเตอรไดเขามามีบทบาทอยางมากตอหนวยงาน หรือองคกรตางๆ ไมวาจะเปน ภาครัฐหรือภาคเอกชน เพราะระบบคอมพิวเตอรเขามาชวยในการบริหารจัดการขอมูลตางๆ ของหนวยงาน หรือ องคกร ซึ่งในปจจุบันมีขอมูลมีจํานวนมาก และการจัดการขอมูลตางๆ ยังไมเปนระบบมากนัก ทําใหเปนการยาก ตอการประมวลผลและการสืบคนขอมูล ระบบคอมพิวเตอรจึงเขามาชวยในการเพิ่มความสะดวกรวดเร็ว และ งายตอการบริหารจัดการขอมูล ไมวาจะเปนขอมูลบุคลากร ขอมูลเอกสาร หนังสือราชการ และขอมูลสารสนเทศ อื่นๆ ดังนั้นการพัฒนาความรูความสามารถในการเขียนโปรแกรมคอมพิวเตอรสําหรับบุคลากรในหนวยงาน จึง เปนสิ่งสําคัญ เพราะสามารถนําความรูที่ไดรับไปสรางหรือพัฒนาโปรแกรมในการบริหารจัดการขอมูลตางๆได อยางทันสมัยและเปนระบบ เพื่อเพิ่มความสะดวกรวดเร็วในการจัดเก็บ สืบคน ประมวลผลขอมูล และเพิ่ม ประสิทธิภาพในการทํางาน ใหเกิดประโยชนสูงสุดตอหนวยงาน การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  4. 4. บทที่ การใชงานโปรแกรม 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 โดย เสกสรรค ศิวิลัย
  5. 5. บทที่ 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 โดย เสกสรรค ศิวิลัย
  6. 6. บทที่ 1 การใชงานโปรแกรม AppServ 3 2. เขาสูขั้นตอนเงื่อนไขการใชงานโปรแกรม โดยโปรแกรม AppServ ไดแจกจายในรูปแบบ GNU License หากผูติดตั้งอานเงื่อนไขตางๆ เสร็จสิ้นแลว หากยอมรับเงื่อนไขใหกด Next เพื่อเขาสูการติดตั้งในขั้น ตอไป แตหากวาไมยอมรับเงือนไขใหกด Cancel เพื่อออกจากการติดตั้งโปรแกรม AppServ ดังรูป ่ 3. เขาสูขั้นตอนการเลือกปลายทางที่ตองการติดตั้ง โดยคาเริ่มตนปลายทางที่ติดตั้งจะเปน C:AppServ หากตองการเปลี่ยนปลายทางที่ติดตั้ง ใหกด Browse แลวเลือกปลายทางที่ตองการ ตามรูปเมื่อเลือกปลายทาง เสร็จสิ้นใหกดปุม Next เพื่อเขาสูขั้นตอนการติดตั้งขั้นตอไป การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  7. 7. บทที่ 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 โดย เสกสรรค ศิวิลัย
  8. 8. บทที่ 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 โดย เสกสรรค ศิวิลัย
  9. 9. บทที่ 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 โดย เสกสรรค ศิวิลัย
  10. 10. บทที่ 1 การใชงานโปรแกรม AppServ 7 7. สิ้นสุดขั้นตอนการติดตั้งโปรแกรม AppServ สําหรับขั้นตอนสุดทายนี้จะมีใหเลือกวาตองการสั่งใหมี การรัน Apache และ MySQL ทันทีหรือไม จากนั้นกดปุม Finish เพื่อเสร็จสิ้นการติดตั้งโปรแกรม AppServ  การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  11. 11. บทที่ 1 การใชงานโปรแกรม AppServ 8 วิธีการใชงาน AppServ ทดสอบการใชงานเบื้องตน หลังจากติดตังโปรแกรม AppServ และเขาใจถึงโครงสราง Directory ตางๆ แลวก็สามารถเริ่มเขียน ้ โปรแกรมภาษา PHP หรือจัดทําเว็บไซตไดทันที โดยขอมูลตางๆ ที่ทําขึ้นนั้นจะตองเก็บลงใน C:/AppServ/www เชน หากทําโปรแกรมชื่อวา test.php หลังจากเขียนโปรแกรมเสร็จแลวตองการเริ่มตนทดสอบรันโปรแกรม ให ทําการเปด Browser ขึ้นมา แลวเรียกตรงไปที่ชื่อไฟลโปรแกรมที่สรางขึ้น เชน http://localhost/test.php ดังรูป การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  12. 12. บทที่ การสรางและการใชงานฟอรมในการรับขอมูล 2 การใชงานอ็อบเจ็คตของฟอรมชนิดตางๆ อ็อบเจ็คต คือสวนของฟอรมที่ใชในการรับขอมูลจากผูใช กอนที่จะแทรกอ็อบเจ็คตลงบนเว็บเพจ ตอง มีการสรางหรือแทรกฟอรมลงในเว็บเพจกอนเสมอ หากมีการแทรกอ็อบเจ็คตลงในสวนที่ไมมฟอรม ี Dreamweaver จะถามโดยปรากฏไดอะล็อก “Add form tags?” ใหเลือก Yes เพื่อให Dreamweaver สราง แท็กฟอรมสําหรับอ็อบเจ็คตนั้น การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  13. 13. บทที่ 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 โดย เสกสรรค ศิวิลัย
  14. 14. บทที่ 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 โดย เสกสรรค ศิวิลัย
  15. 15. บทที่ 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 โดย เสกสรรค ศิวิลัย
  16. 16. บทที่ 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 โดย เสกสรรค ศิวิลัย
  17. 17. บทที่ 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 โดย เสกสรรค ศิวิลัย
  18. 18. บทที่ 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 โดย เสกสรรค ศิวิลัย
  19. 19. บทที่ การเขียนโปรแกรมดวยภาษา 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 โดย เสกสรรค ศิวิลัย
  20. 20. บทที่ 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 โดย เสกสรรค ศิวิลัย
  21. 21. บทที่ 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 โดย เสกสรรค ศิวิลัย
  22. 22. บทที่ 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 โดย เสกสรรค ศิวิลัย
  23. 23. บทที่ 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 โดย เสกสรรค ศิวิลัย
  24. 24. บทที่ 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 โดย เสกสรรค ศิวิลัย
  25. 25. บทที่ 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 โดย เสกสรรค ศิวิลัย
  26. 26. บทที่ 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 โดย เสกสรรค ศิวิลัย
  27. 27. บทที่ 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 โดย เสกสรรค ศิวิลัย
  28. 28. บทที่ 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 โดย เสกสรรค ศิวิลัย
  29. 29. บทที่ 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 โดย เสกสรรค ศิวิลัย
  30. 30. บทที่ 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 โดย เสกสรรค ศิวิลัย
  31. 31. บทที่ 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 โดย เสกสรรค ศิวิลัย
  32. 32. บทที่ 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 โดย เสกสรรค ศิวิลัย
  33. 33. บทที่ 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 โดย เสกสรรค ศิวิลัย
  34. 34. บทที่ 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 โดย เสกสรรค ศิวิลัย
  35. 35. บทที่ 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 โดย เสกสรรค ศิวิลัย
  36. 36. บทที่ 3 การเขียนโปรแกรมดวยภาษา PHP 33 คําสั่ง Control Structures แรกที่เราจะศึกษากันก็คือ IF ดังตอไปนี้ IF คําสั่ง if เปนคําสั่งสําหรับสรางเงื่อนไขการทํางานของโปรแกรมวา ถาเปนจริงก็จะใหทํางาน งานหนึ่ง ถาเปนเท็จก็จะใหทางานอีกงานหนึ่ง ดังแผนภาพ ํ รูปแบบคําสัง ่ if ( เหตุการณ Operator เหตุการณ ){งานที่จะตองทํา} ตัวอยางคําสัง ่ <? $a=500 if ( $a == 500 ){print"<h1>ตัวแปรตัวนี้เทากับ 500</h1>";} ?> ผลลัพธ ตัวแปรตัวนี้เทากับ 500 การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  37. 37. บทที่ 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 โดย เสกสรรค ศิวิลัย
  38. 38. บทที่ 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 โดย เสกสรรค ศิวิลัย
  39. 39. บทที่ 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 โดย เสกสรรค ศิวิลัย
  40. 40. บทที่ 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 โดย เสกสรรค ศิวิลัย
  41. 41. บทที่ 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 โดย เสกสรรค ศิวิลัย
  42. 42. บทที่ 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 โดย เสกสรรค ศิวิลัย
  43. 43. บทที่ 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 โดย เสกสรรค ศิวิลัย
  44. 44. บทที่ 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 โดย เสกสรรค ศิวิลัย
  45. 45. บทที่ การใชงานฐานขอมูล MySQL 4 ทําความรูจักกับฐานขอมูล ฐานขอมูล คือ กลุมของขอมูลที่มีความสัมพันธกัน โดยอาจถูกจัดเก็บอยูในแฟมเดียวกัน หรือหลาย แฟมแตจะตองมีการเชื่อมโยงความสัมพันธถึงกัน และสามารถอธิบายความสัมพันธเหลานั้นได ขอมูลที่ถูก จัดเก็บรวมกันเปนฐานขอมูลจะเปนขอมูลที่ไมมีความซ้ําซอน ซึ่งตองผานกระบวนการตาง ๆ ที่ใชในการ จัดการกับขอมูลกอนที่จะนํามารวมกันเปนฐานขอมูล เชน การควบคุมความถูกตองใหกับขอมูล (Data Integrity) การจัดการกับขอมูล ( Data Manipulate ) และการแกไขปญหาความซ้ําซอนของขอมูลดวยการทํา Normalization เปนตน นอกจากนั้นระบบจัดการฐานขอมูลโดยทั่วไปจะสามารถจํากัดสิทธิ์การใชงานของ ผูใชได ( Data Security ) ทําใหนยมนําฐานขอมูลมาใชงานกันอยางแพรหลายในปจจุบัน โดยสามารถสรุป ิ ประโยชน และความสําคัญของการใชงานฐานขอมูลไดดังนี้ • ลดความซ้ําซอนของขอมูล ( Data Redundancy ) คือ บางครั้งการจัดเก็บขอมูลในรูปแบบของ แฟมขอมูลอาจจะมีขอมูลชุดเดียวกันอยูใน 2 แฟมขอมูลหรือมากกวา เชน ขอมูลของพนักงาน  ขายที่ชื่อ “ เขมรินทร” ถูกจัดเก็บอยูในแฟมขอมูลพนักงาน ( EMPLOYEE ) ของฝายพนักงาน  และแฟมขอมูลพนักงนขาย ( SALESMAN ) ของฝายการตลาดทั้ง ๆ ที่เปนขอมูลของคนคน เดียวกัน เนื่องจากพนักงานขายก็ถือวาเปนพนักงานคนหนึ่งของบริษัท การจัดเก็บในลักษณะ ดังกลาวจะทําใหสิ้นเปลืองเนื้อที่ ถานําระบบฐานขอมูลมาใชก็จะสามารถแกปญหาความซ้ําซอนนี้ ได • แกปญหาขอมูลไมสอดคลองกัน ( Data Inconsistency ) ปญหานี้เกิดจากความซ้ําซอนของขอมูล คือ การเก็บขอมูลพนักงานไว 2 แฟมขอมูลหรือมากกวา ถาตองมีการเปลี่ยนแปลงขอมูล เชน เปลี่ยนชื่อของพนักงาน แกไขอัตราเงินเดือน หรือเปลี่ยนแปลงเบอรโทรศัพท เปนตน การ เปลี่ยนแปลงเหลานี้เกิดขึนแลวจะกระทบกับทุก ๆ แฟมที่มีขอมูลอยู ซึ่งอาจทําใหเกิดความ ้ ผิดพลาดขึ้นได และความผิดพลาดนี้เองจะสงผลใหขอมูลที่ไดไมตรงกัน เชน เปลี่ยนแปลงขอมูล จากแฟมขอมูลพนักงาน (EMPLOYEE) แตลืมเปลี่ยนแปลงขอมูลจากแฟมพนักงานขาย (SALESMAN ) เปนตน การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  46. 46. บทที่ 4 การใชงานฐานขอมูล MySQL 43 • การใชขอมูลรวมกัน ( Data Sharing ) แตละหนวยงานในองคกรสามารถใชขอมูลรวมกันได คือ ถามีการเก็บขอมูลรวมกันเปนระบบฐานขอมูล จะทําใหทุกหนวยงานสามารถใชขอมูลเดียวกัน ทั้งหมด แตถาขอมูลไมไดอยูในรูปแบบของฐานขอมูลแลว การใชขอมูลของหนวยงานตาง ๆ จะ  แยกออกจากกัน • สามารถกําหนดการรักษาความปลอดภัยของขอมูล ( Data Security ) ไดเพราะระบบฐานขอมูลมี ตัวชวยในการจัดการกับขอมูลที่เรียกวา “ระบบจัดการฐานขอมูล” หรือ “DBMS” ( Data Base Management System ) ซึ่งสามารถตรวจสอบคําสั่งในการเขาใชงานขอมูล และตรวจสอบสิทธิ์ใน การเขาใชฐานขอมูลได • สามารถรักษาความถูกตองของขอมูล ( Data Validity ) ไดโดยระบุกฎเกณฑในการควบคุมความ ผิดพลาดที่อาจเกิดขึ้นไดจากการปอนขอมูลผิด • ทําใหขอมูลเปนอิสระจากโปรแกรมที่ใชงานขอมูลนั้น ( Data Independence ) สงผลให ผูพัฒนาโปรแกรมสามารถแกไขโครงสรางของขอมูล โดยไมกระทบตอโปรแกรมที่เรียกใชงาน ขอมูลนั้น เชน ในกรณีที่ตองการเปลี่ยนขนาดของ Field ถาเปนระบบแฟมขอมูลจะตอง  เปลี่ยนแปลงตัวโปรแกรมทีอางถึง Field นั้นทั้งหมด ซึ่งตางจากการใชงานระบบฐานขอมูล ที่ ่ การอางถึงขอมูลจะไมขึ้นอยูกับโครงสรางทางกายภาพของขอมูล จึงไมสงผลใหตองแกไข โปรแกรมที่เรียกใชขอมูลนันมากนัก ่ เมื่อทราบถึงความหมายและประโยชนของการนําฐานขอมูลมาใชแลว ในหัวขอตอไปจะศึกษาถึง โครงสรางตาง ๆ ของฐานขอมูล ซึ่งจําเปนตองใชแบบจําลองขอมูลในการนําเสนอ แบบจําลองของขอมูลที่จะ ใชนําเสนอรายละเอียดและโครงสราง คําศัพทพื้นฐาน การประมวลผลในระบบแฟมขอมูล ไดแบงหนวยของขอมูลไวหลายระดับ ดังนี้ บิท (Bit) หมายถึง หนวยของขอมูลที่มีขนาดเล็กที่สุด ไบท (Byte) หมายถึง หนวยของขอมูลที่เกิดจากการนํา บิท มารวมกันเปนตัวอักษร ฟลด (Field) หมายถึง หนวยของขอมูลที่ประกอบดวยหลายๆ ตัวอักษร เพื่อแทนความหมายของสิ่ง หนึ่ง เชน รหัสพนักงาน ชื่อ เปนตน การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  47. 47. บทที่ 4 การใชงานฐานขอมูล MySQL 44 เรคคอรด (Record) หมายถึง หนวยของขอมูลที่เกิดจากการนําเอา ฟลดหลายๆ ฟลด มารวมกัน เพื่อแสดงรายละเอียด ขอมูลในเรื่องใดเรื่องหนึ่ง เชน เรคคอรดหนึ่งๆ ของพนักงานประกอบดวย ฟลดตางๆ เชน รหัสพนักงาน ชื่อแผนก เงินเดือน เปนตน แฟมขอมูล (File) หมายถึง หนวยของขอมูลที่เกิดจากการนําเรคคอรดหลายๆ เรคคอรด มารวมกัน สําหรับในระบบฐานขอมูล คําศัพทพื้นฐานที่เกี่ยวของมีดังตอไปนี้ คือ เอนทิตี้ (Entity) เอนทิตี้ หมายถึง ชื่อของสิ่งใดสิ่งหนึ่ง อาจเกี่ยวกับ คน สถานที่ สิ่งของ การ กระทํา ซึ่งตองการจัดเก็บขอมูลไว เชน เอนทิตี้พนักงาน สินคา ลูกคา การสั่งซื้อ เปนตน แอททริบิวต (Attribute) แอททริบิวต หมายถึง รายละเอียดของขอมูลในเอนทิตี้หนึ่งๆ เชน เอนทิตี้พนักงาน ประกอบดวย แอททริบิวตรหัสพนักงาน ชื่อ เงินเดือน หรือเอนทิตี้ลูกคาประกอบดวยแอททริบวตรหัสลูกคา ชื่อ ที่อยู ิ หมายเลขโทรศัพท หรือเอนทิตี้แผนก ประกอบดวย แอททริบิวตรหัสแผนก ชื่อ เปนตน รูปแบบของฐานขอมูล รูปแบบของฐานขอมูลแบงออกเปน 3 ประเภท คือ 1. ฐานขอมูลเชิงสัมพันธ (Relational Database) เปนการจัดเก็บขอมูลของเอนทิตี้ในรูปแบบตาราง ที่มีลักษณะเปนสองมิติ คือ เปนแถว (Row) และ เปนคอลัมน (Column) ในการเชื่อมโยงขอมูลระหวางตาราง จะเชื่อมโยงโดยใชแอททริบิวตที่มีอยูในทั้งสองตารางเปนตัว เชื่อมโยงขอมูลกัน ตัวอยางเชน ตารางพนักงานและตารางแผนก ถาตองการทราบวาพนักงานรหัส 1001 อยู สังกัดแผนกอะไรจะตองนํารหัสแผนกในตารางพนักงานไปตรวจสอบกับรหัสแผนก (DEPNO) ซึ่งเปนคีย (Key) ในตารางแผนกเพื่อดึงขอมูลชื่อแผนกออกมา ฐานขอมูลเชิงสัมพันธนี้จะเปนรูปแบบที่นิยมใชในปจจุบัน และเปนฐานขอมูลที่จะกลาวในรายละเอียด ตอไป การเขียนโปรแกรมออนไลนดวยภาษา PHP และ MySQL โดย เสกสรรค ศิวิลัย
  48. 48. บทที่ 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 โดย เสกสรรค ศิวิลัย
  49. 49. บทที่ 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 โดย เสกสรรค ศิวิลัย

×